2015-06-03 28 views
6

Làm cách nào để bạn tổ chức quy trình phát triển Spark?Quy trình làm việc của ứng dụng Apache Spark

cách của tôi:

  1. địa phương phục vụ hadoop/sợi.
  2. Dịch vụ tia lửa địa phương.
  3. Intellij trên một màn hình
  4. ga với chạy SBT console
  5. Sau khi tôi thay đổi mã ứng dụng Spark, tôi chuyển sang terminal và chạy "gói" để biên dịch để làm chao và "submitSpark", đó là nhiệm vụ STB chạy spark- nộp
  6. Chờ ngoại lệ trong SBT console :)

tôi cũng đã cố gắng để làm việc với spark-shell:

  1. Run vỏ và previ tải ứng dụng bằng văn bản.
  2. Viết dòng trong vỏ
  3. Đánh giá nó
  4. Nếu đó là bản sao tốt để IDE
  5. Sau vài 2,3,4, dán mã để IDE, biên dịch ứng dụng tia lửa và bắt đầu lại

Is có cách nào để phát triển ứng dụng Spark nhanh hơn không?

Trả lời

4

Tôi phát triển logic cốt lõi của công việc Spark bằng cách sử dụng môi trường tương tác để tạo mẫu nhanh. Chúng tôi sử dụng các Spark Notebook chạy chống lại một cụm phát triển cho mục đích đó.

Khi tôi đã tạo mẫu cho logic và nó hoạt động như mong đợi, tôi "công nghiệp hóa" mã trong dự án Scala, với vòng đời xây dựng cổ điển: tạo các thử nghiệm; xây dựng, đóng gói và tạo các tạo tác bởi Jenkins.

+0

Máy tính xách tay Spark thật tuyệt vời :) – zie1ony

1

Tôi đã tìm thấy cách viết kịch bản và sử dụng: tải /: sao chép các thứ được sắp xếp hợp lý một chút vì tôi không cần gói bất kỳ thứ gì. Nếu bạn sử dụng sbt, tôi khuyên bạn nên bắt đầu sử dụng nó và sử dụng ~ package sao cho nó tự động đóng gói lọ khi thay đổi được thực hiện. Cuối cùng tất nhiên mọi thứ sẽ kết thúc trong một lọ ứng dụng, đây là để tạo mẫu và khám phá.

  1. Spark Local
  2. Vim
  3. Spark-Shell
  4. API
  5. điều khiển
1

Chúng tôi phát triển các ứng dụng của chúng ta sử dụng một IDE (Intellij vì chúng ta viết mã ứng dụng của tia lửa của bạn trong Scala) sử dụng scalaTest để thử nghiệm.

Trong các thử nghiệm đó, chúng tôi sử dụng [*] cục bộ làm SparkMaster để cho phép gỡ lỗi.

Để thử nghiệm tích hợp, chúng tôi đã sử dụng Jenkins và chúng tôi khởi chạy tập lệnh "kết thúc để kết thúc" dưới dạng ứng dụng Scala.

Tôi hy vọng điều này sẽ hữu ích

Các vấn đề liên quan