python - 如何在 Apache Spark 预构建版本中添加任何新库,如 spark-csv

标签 python apache-spark apache-spark-sql

我已经构建了 Spark-csv并且能够使用以下命令从 pyspark shell 中使用相同的命令

bin/spark-shell --packages com.databricks:spark-csv_2.10:1.0.3

获取错误

>>> df_cat.save("k.csv","com.databricks.spark.csv")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/abhishekchoudhary/bigdata/cdh5.2.0/spark-1.3.1/python/pyspark/sql/dataframe.py", line 209, in save
    self._jdf.save(source, jmode, joptions)
  File "/Users/abhishekchoudhary/bigdata/cdh5.2.0/spark-1.3.1/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py", line 538, in __call__
  File "/Users/abhishekchoudhary/bigdata/cdh5.2.0/spark-1.3.1/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py", line 300, in get_return_value
py4j.protocol.Py4JJavaError

我应该将 jar 文件放在我的 spark 预build设置中的哪个位置,以便我也可以直接从 python 编辑器访问 spark-csv

最佳答案

在我使用 spark-csv 时,我还必须下载 commons-csv jar(不确定它是否仍然相关)。两个 jar 在 spark 分发文件夹中的位置。

  1. 我下载的jar包如下:

    wget http://search.maven.org/remotecontent?filepath=org/apache/commons/commons-csv/1.1/commons-csv-1.1.jar -O commons-csv-1.1.jar<br/>    
    wget http://search.maven.org/remotecontent?filepath=com/databricks/spark-csv_2.10/1.0.0/spark-csv_2.10-1.0.0.jar -O spark-csv_2.10-1.0.0.jar
    
  2. 然后使用参数启动 python spark shell:

    ./bin/pyspark --jars "spark-csv_2.10-1.0.0.jar,commons-csv-1.1.jar"
    
  3. 并从 csv 文件中读取 spark 数据帧:

    from pyspark.sql import SQLContext
    sqlContext = SQLContext(sc)
    df = sqlContext.load(source="com.databricks.spark.csv", path = "/path/to/you/file.csv")
    df.show()
    

关于python - 如何在 Apache Spark 预构建版本中添加任何新库,如 spark-csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30757439/

相关文章:

python - 当 $env :path? 中定义了多个时,windows 如何决定使用哪个 python 可执行文件

apache-spark - 如何将行rdd转换为类型化rdd

pyspark - 错误 : TimestampType can not accept object while creating a Spark dataframe from a list

python - 有一个接受所有字符的 url

python - 属性错误 : 'module' object has no attribute 'commit_on_success'

json - Apache Spark 和 MongoDB Hadoop-Connector 创建的 BSON 结构

apache-spark - 无法将作业提交到 Spark 集群(集群模式)

scala - 如何在spark/scala中将excel数据读入数据框

sql - 如何在Spark SQL查询中定义WINDOWING函数以避免重复代码

Python 模拟单元测试和数据库