1

私のシナリオでは、CSV ファイルを継続的に HDFS にアップロードしています。

新しいファイルがアップロードされるとすぐに、新しいファイルを Spark SQL で処理したいと思います (たとえば、ファイル内のフィールドの最大値を計算し、ファイルを に変換しますparquet)。つまり、各入力ファイルと変換/処理された出力ファイルの間に 1 対 1 のマッピングがあります。

HDFS ディレクトリをリッスンし、Spark で「ストリーミングされたファイル」を処理するために、Spark ストリーミングを評価していました。

ただし、ファイル全体を処理するには、「ファイル ストリーム」がいつ完了するかを知る必要があります。ファイル間のエンド ツー エンドの 1 対 1 のマッピングを維持するために、変換をファイル全体に適用したいと考えています。

マイクロバッチではなく、ファイル全体を変換するにはどうすればよいですか?

私の知る限り、Spark Streaming は変換をバッチ (DStreamsにマップRDDs) にのみ適用でき、一度にファイル全体に適用することはできません (その有限ストリームが完了したとき)。

あれは正しいですか?もしそうなら、私のシナリオではどのような代替案を検討する必要がありますか?

4

2 に答える 2