[英]SparkR and Packages
如何使用來自 spark 的一個調用包用於使用 R 進行數據操作?
例如,我試圖在 hdfs 中訪問我的 test.csv,如下所示
Sys.setenv(SPARK_HOME="/opt/spark14")
library(SparkR)
sc <- sparkR.init(master="local")
sqlContext <- sparkRSQL.init(sc)
flights <- read.df(sqlContext,"hdfs://sandbox.hortonWorks.com:8020 /user/root/test.csv","com.databricks.spark.csv", header="true")
但得到如下錯誤:
Caused by: java.lang.RuntimeException: Failed to load class for data source: com.databricks.spark.csv
我嘗試通過以下選項加載 csv 包
Sys.setenv('SPARKR_SUBMIT_ARGS'='--packages com.databricks:spark-csv_2.10:1.0.3')
但在加載 sqlContext 時出現以下錯誤
Launching java with spark-submit command /opt/spark14/bin/spark-submit --packages com.databricks:spark-csv_2.10:1.0.3 /tmp/RtmpuvwOky /backend_port95332e5267b
Error: Cannot load main class from JAR file:/tmp/RtmpuvwOky/backend_port95332e5267b
任何幫助將不勝感激。
所以看起來通過設置SPARKR_SUBMIT_ARGS
你覆蓋了默認值,即sparkr-shell
。 您可能會做同樣的事情,只需將 sparkr-shell 附加到 SPARKR_SUBMIT_ARGS 的末尾。 與依賴 jars 相比,這似乎不必要地復雜,所以我創建了一個 JIRA 來跟蹤這個問題(如果 SparkR 人同意我的意見,我會嘗試修復) https://issues.apache.org/jira/瀏覽/SPARK-8506 。
注意:另一個選項是使用 sparkr 命令 + --packages com.databricks:spark-csv_2.10:1.0.3
因為這應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.