2017-08-03 30 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

相关问题