2017-02-03 10 views
0

Sparkでデータを持っており、それをさらに解析するためにPandasデータフレームに変換したい。SparkからPandasデータフレームへ反復的に

dataset = sqlContext.sql('SELECT * FROM TEMP') 

df=dataset.toPandas() 

しかし、テーブルはかなり大きく、パンダの処理中に多くの時間を費やしているようです。

toPandas()関数は、パフォーマンスを向上させるためにデータを繰り返し転送するための反復またはチャンクサイズ(pandasのread_csvのような)を持っていますか?

ありがとうございます!

+0

テーブルの大きさはどれくらいですか?大きすぎると、あなたのedgenodeのRAMが不足する可能性があります。スパークのデータフレームは複数のノードに格納され、パンダのデータフレームは通常はedgenodeに格納されることを理解してください。上記の操作を実行するには、それらの複数のノードすべてからデータを収集する必要があります。したがって、表が大きい場合は時間がかかります。 –

+0

あなたはパンダでこれをやりたいと思っていて、それ自体を刺激したくない特別な理由はありますか? –

答えて

0

toPandas()メソッド自体のオプションはありません。関数hereのソースを見てください。

commentersが言及しているように(そしてその方法については文書の中で指摘されているように)、あなたは物理的にこれを行うことができない危険性があり、私はあなたができなかったパンダで何ができるかはわかりませんスパークのやり方を見つけ出す

関連する問題