2015-10-23 16 views
5

IntelliJ: 14.1.4nhập khẩu mã nguồn Spark vào intellj, xây dựng Lỗi: Không tìm thấy: Loại SparkFlumeProtocol và EventBatch

Spark: mã nguồn 1.5 phát hành

tôi nhập khẩu mã nguồn Spark vào IntellJ và làm theo các bước trên Spark website.

Tôi gặp lỗi bên dưới khi xây dựng và biên soạn dự án. Tôi đã googled xung quanh và thử những gì là suggested here in spark user list để "Tạo nguồn và Cập Nhật thư mục" trong thanh công cụ Maven cho "Spark dự án bên ngoài Flume Sink", nhưng vẫn có lỗi tương tự.

Tôi chắc chắn đây là sự cố giải quyết vì tất cả các lớp khác được giải quyết thành công. Có lẽ tôi không sử dụng IntelliJ một cách chính xác? Bất kỳ đề nghị xin vui lòng? Cảm ơn nhiều.

Error:(45, 66) not found: type SparkFlumeProtocol 
    val transactionTimeout: Int, val backOffInterval: Int) extends SparkFlumeProtocol with Logging { 
                   ^
Error:(70, 39) not found: type EventBatch 
    override def getEventBatch(n: Int): EventBatch = { 

Trả lời

12

tôi đã giải quyết được vấn đề, và nó quay ra rằng "Spark dự án bên ngoài máng Chìm" là loại trừ khi nhập mã nguồn Spark dưới thiết lập mặc định.

Những gì tôi đã làm:

  1. File -> Cấu trúc dự án -> Modules -> "châm ngòi cho luồng-máng-sink_2.10" -> Nguồn
  2. trong màn hình hiển thị cây thư mục, ban đầu thư mục "target" bị loại trừ, nhưng các lớp "SparkFlumeProtocol" và "EventBatch" được biên dịch vào thư mục này.
  3. đặt thư mục "đích" là "Nguồn", sau đó để tất cả trong "mục tiêu" là "Bị loại trừ" ngoại trừ "scala-2.10", xem ảnh chụp màn hình được đính kèm.

Bằng cách này, các lớp biên dịch được bao gồm và các lớp có thể được giải quyết chính xác sau khi dự án xây dựng lại.

enter image description here

--- cập nhật tháng Sáu-8-2016 --------

hay cụ thể hơn, toàn bộ con đường của module này

xin lưu ý các loại và màu sắc, nó sẽ ảnh hưởng đến tên gói

package org.apache.spark.streaming.flume.sink; 

enter image description here

+0

Điều này giải quyết vấn đề một cách hoàn hảo. Cảm ơn bạn! –

+0

Lưu ý: Tôi phải chạy 'sbt avro: generate' trước 'src_managed' xuất hiện trong cây, theo lời khuyên [ở đây] (http://apache-spark-developers-list.1001551.n3.nabble.com/Intellij -Spark-Source-Compilation-tp12168p12196.html) –

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