1

Google Dataproc で作成した Spark クラスターにdatabricks csv ライブラリ ( https://github.com/databricks/spark-csvを参照) を読み込もうとしています。これらはすべて PySpark を使用して行われます。

PySpark を起動し、次のように入力します。

spark-submit --packages com.databricks:spark-csv_2.11:1.2.0 --verbose

しかし、私はこの答えを得ます:

Using properties file: /usr/lib/spark/conf/spark-defaults.conf
Adding default property: spark.executor.extraJavaOptions=-Xbootclasspath/p:/usr/local/share/google/alpn/alpn-boot-8.1.3.v20150130.jar
Adding default property: spark.history.fs.logDirectory=file:///var/log/spark/events
Adding default property: spark.eventLog.enabled=true
Adding default property: spark.driver.maxResultSize=937m
Adding default property: spark.shuffle.service.enabled=true
Adding default property: spark.yarn.historyServer.address=fb-cluster-1-m:18080
Adding default property: spark.driver.memory=1874m
Adding default property: spark.dynamicAllocation.maxExecutors=100000
Adding default property: spark.scheduler.minRegisteredResourcesRatio=0.0
Adding default property: spark.yarn.am.memory=2176m
Adding default property: spark.driver.extraJavaOptions=-Xbootclasspath/p:/usr/local/share/google/alpn/alpn-boot-8.1.3.v20150130.jar
Adding default property: spark.master=yarn-client
Adding default property: spark.executor.memory=2176m
Adding default property: spark.eventLog.dir=file:///var/log/spark/events
Adding default property: spark.dynamicAllocation.enabled=true
Adding default property: spark.executor.cores=1
Adding default property: spark.yarn.executor.memoryOverhead=384
Adding default property: spark.dynamicAllocation.minExecutors=1
Adding default property: spark.dynamicAllocation.initialExecutors=100000
Adding default property: spark.akka.frameSize=512
Error: Must specify a primary resource (JAR or Python or R file)
Run with --help for usage help or --verbose for debug output

これは、ドキュメントhttps://github.com/databricks/spark-csvとhttps://github.com/databricks/spark-csv/issues/59の投稿レビゴットを組み合わせたものと矛盾します。

誰かが私を助けることができますか?

4

1 に答える 1

4

spark-submitpyspark シェル内でコマンドを実行しようとしていたようです。spark-submitコマンドはクラスターでバンドルされたアプリケーションを構成および起動するspark-shellために使用されるのに対し、またはコマンドはシェルのコンテキストで spark コマンドを実行するためにpyspark事前にインスタンス化されたシェル環境を作成するために使用されることに注意することが重要です。シェルのコマンド ラインの使用法はかなり似ているため、spark-csv パッケージを含めたい場合は、以下のようにシェルを起動する必要があります。SparkContextspark-submit

pyspark --packages com.databricks:spark-csv_2.11:1.2.0 

コメントの他の質問に答えるために、--packagesフラグに提供される入力は、ジョブが開始される前に検索され、ドライバー/エグゼキューターのクラスパスに追加される jar にマップされる Maven 座標のリストです。検索されるリポジトリは、デフォルトでローカルの Maven リポジトリと Maven セントラルになります (フラグで定義された他のリポジトリも同様です--repositories)。以前にローカルの Maven リポジトリにパッケージがなかった場合は、Maven セントラルからダウンロードされ、jar を再度使用するたびにローカルから取得されます。

于 2015-10-27T06:21:50.867 に答える