在使用pyspark读取csv时,出现“SQLContext对象没有read属性”的错误。

4
我将csv文件加载到pyspark中,代码如下(在pyspark shell中执行):

>>> from pyspark.sql import SQLContext
>>> sqlContext = SQLContext(sc)
>>> df = sqlContext.read.format('com.databricks.spark.csv').options(header='true').load('data.csv')

但我遇到了这个错误:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'SQLContext' object has no attribute 'read'
>>> 

我正在使用Spark 1.3.1,并尝试使用spark-csv

1个回答

7

您正在尝试使用 Spark 1.4+ 语法。

对于 Spark 1.3,请参考以下文档:

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)

df = sqlContext.load(source="com.databricks.spark.csv", header="true", path = "cars.csv")
df.select("year", "model").save("newcars.csv", "com.databricks.spark.csv")

实际上我正在使用spark-csv模块的Python API示例,链接为https://github.com/databricks/spark-csv#python-api。就像我现在所做的一样,它使用了"read"函数。 - Mohamed Ali JAMAOUI
@MedAli,你正在尝试使用Spark 1.4+:的语法。 - xiº

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接