使用PySpark

时间:2018-03-06 01:27:13

标签: pyspark parquet

我是Pyspark的新手,似乎没有任何结果。请救援。 我想和Pyspark一起阅读镶木地板文件。我写了以下代码。

from pyspark.sql import SQLContext

sqlContext = SQLContext(sc)

sqlContext.read.parquet("my_file.parquet")

我收到以下错误

  

Py4JJavaError Traceback(最近一次调用   最后一个)deco中的/usr/local/spark/python/pyspark/sql/utils.py(* a,** kw)        62尝试:   ---> 63返回f(* a,** kw)        64除了py4j.protocol.Py4JJavaError为e:

     

/usr/local/spark/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py in   get_return_value(answer,gateway_client,target_id,name)       318"调用{0} {1} {2}时发生错误。\ n"。    - > 319格式(target_id,"。",名称),值)       320其他:

然后我尝试了以下代码

from pyspark.sql import SQLContext

sc = SparkContext.getOrCreate()

SQLContext.read.parquet("my_file.parquet")

然后错误如下:

  

AttributeError:' property'对象没有属性' parquet'

2 个答案:

答案 0 :(得分:2)

您需要先创建一个SQLContext实例。

这将从pyspark shell开始:

from pyspark.sql import SQLContext

sqlContext = SQLContext(sc)
sqlContext.read.parquet("my_file.parquet")

如果你使用spark-submit,你需要创建SparkContext,在这种情况下你会这样做:

from pyspark import SparkContext
from pyspark.sql import SQLContext

sc = SparkContext()
sqlContext = SQLContext(sc)
sqlContext.read.parquet("my_file.parquet")

答案 1 :(得分:-1)

from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext
sc.stop()
conf = (conf.setMaster('local[*]'))
sc = SparkContext(conf = conf)
sqlContext = SQLContext(sc)

df = sqlContext.read.parquet("my_file.parquet")

尝试一下。