2016-09-15 8 views
2

RDDからDataFrameを作成しようとするとエラーが発生します。
マイコード:バインドされていないメソッドcreateDataFrame()

from pyspark import SparkConf, SparkContext 
from pyspark import sql 


conf = SparkConf() 
conf.setMaster('local') 
conf.setAppName('Test') 
sc = SparkContext(conf = conf) 
print sc.version 

rdd = sc.parallelize([(0,1), (0,1), (0,2), (1,2), (1,10), (1,20), (3,18), (3,18), (3,18)]) 

df = sql.SQLContext.createDataFrame(rdd, ["id", "score"]).collect() 

print df 

エラー:

df = sql.SQLContext.createDataFrame(rdd, ["id", "score"]).collect() 
TypeError: unbound method createDataFrame() must be called with SQLContext 
      instance as first argument (got RDD instance instead) 

私は、コードのまっすぐ前方に最後の3行は、値を出力しますスパークシェルで同じタスクを達成。私は主にインポートステートメントを疑う。なぜなら、それはIDEとシェルの間に違いがあるからだ。

答えて

4

SQLContextのインスタンスを使用する必要があります。 pyspark documentation

sqlContext = sql.SQLContext(sc) 
df = sqlContext.createDataFrame(rdd, ["id", "score"]).collect() 

詳細:だからあなたは、次のような何かを試みることができます。

関連する問題