私はSparkを初めて使用しています。私のアプリケーションでは、多数の配列からRDDを作成したいと考えています。それぞれの配列は(10,000,5,000)です。現在、私は以下を試しています:複数のnumpy配列をspark rddにロードする最速の方法は?
rdd_list = []
for np_array in np_arrays:
pandas_df = pd.DataFrame(np_array)
spark_df = sqlContext.createDataFrame(pandas_df) ##SLOW STEP
rdd_list.append(spark_df.rdd)
big_rdd = sc.union(rdd_list)
パンダのデータフレームからスパークのデータフレームへの変換が非常に遅いことを除いて、すべてのステップが高速です。 numpy配列のサブセット(10,000、500など)を使用すると、それをSparkデータフレームに変換するのに数分かかります。しかし、もし私が全面的な配列(10,000,5,000)を使用すると、それはちょうどハングアップします。
私のワークフローをスピードアップするためにできることはありますか?それとも、まったく別のやり方でこれをやっているべきですか? (参考、私は最初のnumpy配列についています)
csvファイル(ヘッダーなし)に変換してから、全体としてrddを読み込むためにワイルドカードを使用しましたか? – Kevin