2017-08-03 59 views
0

我使用pyspark做一個CSV文件的一些工作,所以我需要從火花csv_2.10-1.4.0.jar從https://repo1.maven.org/maven2/com/databricks/spark-csv_2.11/1.4.0/spark-csv_2.11-1.4.0.jar如何從pyspark的本地jar導入一個包裝?

下載我下載了罐子到我的地方,由於代理進口包問題。

誰能告訴我什麼是指一個地方罐子右邊用法:

這裏是我的代碼使用方法:

pyspark --jars /home/rx52019/data/spark-csv_2.10-1.4.0.jar 

它會帶我去pyspark外殼不如預期,但,當我運行:

df = sqlContext.read.format('com.databricks.spark.csv').options(header='true',inferschema='true').load('hdfs://dev-icg/user/spark/routes.dat') 

的route.dat上傳到HDFS已經在HDFS://dev-icg/user/spark/routes.dat

它給我的錯誤:

: java.lang.NoClassDefFoundError: org/apache/commons/csv/CSVFormat

如果我運行:

df = sqlContext.read.format('com.databricks.spark.csv').options(header='true',inferschema='true').load('routes.dat') 

我得到這個錯誤:

py4j.protocol.Py4JJavaError: An error occurred while calling o72.load. : java.lang.NoClassDefFoundError: Could not initialize class com.databricks.spark.csv.package$

誰能幫助梳理出來給我嗎?非常感謝你。任何線索表示讚賞。

回答

0

要做到這一點是添加的選項(比方說,如果你正在開始一個火花殼)

spark-shell --packages com.databricks:spark-csv_2.11:1.4.0 --driver-class-path /path/to/csvfilejar.jar 

正確的方法我沒有使用過databricks直接csvjar,但我用的Netezza連接器的火花他們提到使用此選項

https://github.com/SparkTC/spark-netezza

+0

謝謝。我的工作文件夾是/ home/rr52019/data,jar文件在工作文件夾中,我使用的是pyspark,這裏是命令: pyspark --packages com.databricks:spark-csv_2.11:1.4.0 - 驅動程序類路徑/spark-csv_2.10-1.4.0.jar 並提示錯誤: 線程「main」中的異常java.lang.RuntimeException:[unresolved dependency:com.databricks#spark-csv_2.11; 1.4.0:未找到] – PasLeChoix

相關問題