私は現在、4つのワーカーノードと2つのヘッドノードでスパーククラスタを設定しています。ヘッドノードの1つからアクセスできるBLOBストレージに1.5 GBのCSVファイルがあります。このデータを読み込んでPySparkを使ってキャッシュするのにはかなりの時間がかかります。データを高速に読み込む方法はありますか?blobストレージからspark経由でより速く読み込み
データを読み込み、データをk個(ノード数)の異なるセグメントに分割し、それらをパーケットファイルとしてBLOBに保存するという考えでした。このようにして、データセットの異なる部分を並列して結合して読み込むことができます...しかし、すべてのデータがヘッドノードにロードされただけではわかりません。計算が発生すると、他のマシンにデータが分配されます。後者が真であれば、パーティショニングは役に立たないでしょう。
助けていただければ幸いです。ありがとうございました。
ああ、そうです。あなたの助言を得て、私の戦略はcsvファイルを取ってデータフレームに変換して、私がパーケットファイルに保存できるようにすることです。デフォルトでは、sparkはパーケットファイルを128 MBのファイルに分割します。その後、私は、ブロブからの後続のロードのためのより速いデータロードを持つことができます。これは合理的だと思いますか?ところで、迅速な対応に感謝します。 – user2253546
はい、あります!あなたが気付いたようにデフォルトのパーティションを作成してから、必要に応じて調整することができます(多くの場合、デフォルトに留まります)。運と感謝のベスト! –