2017-12-03 3 views
0

のRDDのために、私はデータフレームDFの仕様で複数のウィンドウ関数を使用します。同じパーティション:データフレームのために、後に、このデータフレーム

windowSpec = \ 
    Window 
    .partitionBy(df['customID']) 

後、私が使用します。

df.rdd.map((x[0],x[0], x[1], x[2])) 

and df.mapPartitions(some func) 

私のデータフレームのkvペアを作成し、RDDのパーティションで作業します。

x[0] = df.['customID'] 

私の場合、私はどのように働くことができるのだろうか?すでにウィンドウスペックで使用されていたパーディショニングを維持しているのだろうか。これは、データフレームを使って作業した後で、RDDでパーティションを操作する最も効率的な方法ですか?

答えて

0

DataFrameからRDDへの変換はシャッフルを必要としないので、パーティションの内容は両方のオブジェクトで同じになります。ただし、Partitionerは保存されません。

vectroized udfはRDDよりも良い選択肢かもしれませんが、これはあなたのユースケースにはまだ十分です。

+0

「vectroized udf」は何ですか? –

関連する問題