私はs3に保存されたpysparkファイルを持っています。私はspark REST APIを使用してそれを実行しようとしています。私は、次のコマンドを実行していますSpark REST API:データソースの検索に失敗しました:com.databricks.spark.csv
:
curl -X POST http://<ip-address>:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{
"action" : "CreateSubmissionRequest",
"appArgs" : [ "testing.py"],
"appResource" : "s3n://accessKey:secretKey/<bucket-name>/testing.py",
"clientSparkVersion" : "1.6.1",
"environmentVariables" : {
"SPARK_ENV_LOADED" : "1"
},
"mainClass" : "org.apache.spark.deploy.SparkSubmit",
"sparkProperties" : {
"spark.driver.supervise" : "false",
"spark.app.name" : "Simple App",
"spark.eventLog.enabled": "true",
"spark.submit.deployMode" : "cluster",
"spark.master" : "spark://<ip-address>:6066",
"spark.jars" : "spark-csv_2.10-1.4.0.jar",
"spark.jars.packages" : "com.databricks:spark-csv_2.10:1.4.0"
}
}'
とtesting.pyファイルには、コードスニペットがあります。私が手
dataFrame1 = myContext.read.format(format).option("header", "true").option("inferSchema", "true").option("delimiter",",").load(location1).repartition(1)
:
myContext = SQLContext(sc)
format = "com.databricks.spark.csv"
dataFrame1 = myContext.read.format(format).option("header", "true").option("inferSchema", "true").option("delimiter",",").load(location1).repartition(1)
dataFrame2 = myContext.read.format(format).option("header", "true").option("inferSchema", "true").option("delimiter",",").load(location2).repartition(1)
outDataFrame = dataFrame1.join(dataFrame2, dataFrame1.values == dataFrame2.valuesId)
outDataFrame.write.format(format).option("header", "true").option("nullValue","").save(outLocation)
をしかし、この行に例外:
java.lang.ClassNotFoundException: Failed to find data source: com.databricks.spark.csv. Please find packages at http://spark-packages.org
Caused by: java.lang.ClassNotFoundException: com.databricks.spark.csv.DefaultSource
私は別のものを試したし、それらのものの一つは、私は、IPアドレスのマシンにログインして、このコマンドを実行したということでした
:
./bin/spark-shell --packages com.databricks:spark-csv_2.10:1.4.0
それは.ivy2で火花csvファイルをダウンロードなるように/キャッシュフォルダ。しかし、それは問題を解決しませんでした。私は間違って何をしていますか?
こんにちはシャーシ、以下の答えに質問があります - あなたはそれに答えることができますか?ありがとう。 – halfer