2017-03-09 16 views
5

Tôi gặp sự cố khi nhập magellan-1.0.4-s_2.11 vào sổ ghi chép tia lửa. Tôi đã tải xuống bình từ https://spark-packages.org/package/harsha2010/magellan và đã thử đặt SPARK_HOME/bin/spark-shell --packages harsha2010:magellan:1.0.4-s_2.11 trong phần Start of Customized Settings của tệp spark-notebook của thư mục bin.Cách nhập thư viện trong Máy tính xách tay Spark

Dưới đây là hàng nhập khẩu của tôi

import magellan.{Point, Polygon, PolyLine} 
import magellan.coord.NAD83 
import org.apache.spark.sql.magellan.MagellanContext 
import org.apache.spark.sql.magellan.dsl.expressions._ 
import org.apache.spark.sql.Row 
import org.apache.spark.sql.types._ 

Và lỗi của tôi ...

<console>:71: error: object Point is not a member of package org.apache.spark.sql.magellan 
     import magellan.{Point, Polygon, PolyLine} 
      ^
<console>:72: error: object coord is not a member of package org.apache.spark.sql.magellan 
     import magellan.coord.NAD83 
        ^
<console>:73: error: object MagellanContext is not a member of package org.apache.spark.sql.magellan 
     import org.apache.spark.sql.magellan.MagellanContext 

sau đó tôi đã cố gắng để nhập khẩu các thư viện mới như bất kỳ thư viện khác bằng cách đặt nó vào main script như vậy:

$lib_dir/magellan-1.0.4-s_2.11.jar" 

Điều này không hiệu quả và tôi đang gãi đầu tự hỏi điều tôi đã không e sai. Làm thế nào để nhập các thư viện như magellan vào máy tính xách tay spark?

Trả lời

1

Hãy thử đánh giá cái gì đó như

:dp "harsha2010" % "magellan" % "1.0.4-s_2.11" 

Nó sẽ load thư viện vào Spark, cho phép nó được import ed - giả sử nó có thể thu được dù repo Maven. Trong trường hợp của tôi không thành công với một thông báo:

failed to load 'harsha2010:magellan:jar:1.0.4-s_2.11 (runtime)' from ["Maven2 local (file:/home/dev/.m2/repository/, releases+snapshots) without authentication", "maven-central (http://repo1.maven.org/maven2/, releases+snapshots) without authentication", "spark-packages (http://dl.bintray.com/spark-packages/maven/, releases+snapshots) without authentication", "oss-sonatype (https://oss.sonatype.org/content/repositories/releases/, releases+snapshots) without authentication"] into /tmp/spark-notebook/aether/b2c7d8c5-1f56-4460-ad39-24c4e93a9786 

Tôi nghĩ rằng tệp lớn và bị gián đoạn trước khi toàn bộ tệp có thể được tải xuống.

Cách giải quyết

Vì vậy, tôi đã tải về JAR bằng tay từ:

http://dl.bintray.com/spark-packages/maven/harsha2010/magellan/1.0.4-s_2.11/ 

và sao chép nó vào:

/tmp/spark-notebook/aether/b2c7d8c5-1f56-4460-ad39-24c4e93a9786/harsha2010/magellan/1.0.4-s_2.11 

Và sau đó :dp lệnh làm việc. Hãy thử gọi nó trước, và nếu nó sẽ không sao chép JAR vào con đường bên phải để làm cho mọi thứ hoạt động.

giải pháp tốt hơn

tôi nên điều tra tại sao tải về thất bại trong việc sửa chữa nó ở nơi đầu tiên ... hoặc đặt thư viện mà trong repo M2 địa phương của tôi. Nhưng điều đó sẽ giúp bạn đi.

0

tôi sẽ đề nghị kiểm tra này:

https://github.com/spark-notebook/spark-notebook/blob/master/docs/metadata.md#import-download-dependencies

https://github.com/spark-notebook/spark-notebook/blob/master/docs/metadata.md#add-spark-packages

Tôi nghĩ rằng :dp lệnh diệu được khấu hao, thay vào đó bạn nên thêm phụ thuộc tùy chỉnh của bạn trong siêu dữ liệu máy tính xách tay .Bạn có thể đi vào menu Edit> metadata Chỉnh sửa máy tính xách tay, có thêm một cái gì đó như:

"customDeps": [ 
    "harsha2010 % magellan % 1.0.4-s_2.11" 
] 

Sau khi thực hiện, bạn sẽ cần phải khởi động lại kernel, bạn có thể kiểm tra trong trình duyệt giao diện điều khiển nếu gói đang được tải xuống đúng.

0

Cách dễ dàng, bạn nên thiết lập hoặc thêm biến environnent EXTRA_CLASSPATH để trỏ đến tập tin .jar bạn tải: export EXTRA_CLASSPATH = </link/to/your.jar> hoặc set EXTRA_CLASSPATH= </link/to/your.jar> trong wondows OS. Here find the detailed solution.

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