0

私はspark 1.5.1を実行しています。起動時に私はその後、SparkでDataFrameの代わりにリストを返す、createDataFrame()

を使用してデータフレームにこれを変換しようと、私はJSON

data = points.map(lambda line: json.loads(line)) 

に文字列のリストを解析することによって、パイプラインRDDを作成sqlContextとして利用できるHiveContextしかし

sqlContext2 = SQLContext(sc) 

を設定しています

DF = sqlContext2.createDataFrame(data).collect() 

これは完全に実行されますが、私がtype(DF)を実行すると、それはリストであると言われます。

これはどのように可能ですか?どのようにデータフレームにcollect()を適用すると、それはこのデータフレーム内の要素(行)の全てを含むリストを返すためですcreateDataFrame()

答えて

1

から出てきたリストです。

DatFrameだけの場合は、df = sqlContext.createDataFrame(data)で十分です。

sqlContext2はここには必要ありません。

+1

ありがとうございます!それはそれを台無しにしていたcollect()でした。私は実行中の仮想マシン上でHiveが動作していないようだから、最後にsqlContext2を使用しなければなりませんでした。 df = sqlContext2.createDataFrame(data、['var1'、 'var2']) そのエンドブラケットでのみ、スキーマを取得することができました。 – convolutionBoy

関連する問題