在Pyspark(1.6.0)中读取CSV文件



也许这个问题是微不足道的,但是我从Pyspark的本地目录读取CSV时会遇到问题。

我尝试了,

from pyspark.sql.types import *
from pyspark.sql import Row
from pyspark import SparkContext as sc
mydata = sc.textFile("/home/documents/mydata.csv")
newdata = mydata.map(lambda line: line.split(","))

但是遇到一个错误,

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unbound method textFile() must be called with SparkContext instance as first argument (got str instance instead)

现在我的问题是在此之前我已经打电话给SparkContext。那我为什么会遇到这样的错误?请指导我缺少的地方。

你不 import SparkContext as sc

  • Interactive 用法(即Pyspark Shell),sc已经初始化,因此sc.textFile()应该正常工作
  • 在独立应用中,您应首先初始化sc

    from pyspark import SparkContext
    sc = SparkContext("local", "Simple App")
    

SparkContext()中的参数 - 有关更多详细信息,请参见提供的链接。

最后,Spark 1.X无法将CSV文件本身读取到DataFrames中 - 您将需要Spark CSV外部软件包。您可能会发现我一段时间以前为Spark 1.5撰写的相关博客文章有用...

相关内容

  • 没有找到相关文章

最新更新