私は既存のカタログプロセッサーを再設計することを義務付けられています。要件は次の通りです。要件5つのベンダー(各ベンダーは複数のストアを持つことができます)が店舗ごとに「XML」ファイルを提供します。基本的に、ストアごとに1つのxmlファイルと、ベンダーごとに複数のストアファイルがあります。最大ファイルサイズは500 MB、最小値は100 MBです。ファイルあたりの平均製品数は100,000です。フリンクストリーミングまたはバッチ処理
サンプルXML形式は... ... ...このようなことができ
これは、店舗ごとにファイルをダウンロードするために30以上の分を取るdoesntの、およびこれらのファイルは、1日1回更新またはすべての3にしている6時間。
ここで重要な要件は、製品の構成が高度に組織化されておらず、これらのファイルを別の共通オブジェクト(json)に変換して処理してから、カサンドラに保存する必要があることです。
私の技術チームは、Flinkがベンダーサーバーからファイルを直接ストリームし、ストリーミング中に処理を開始するHDFSの上にApache FlinkとKafkaを使用して設計するようアドバイスしました。
私の見解では、どちらの場合でもファイルは有限のサイズであり、ストリームする必要はあまりありません。スタンドアローンのスケジューラをダウンロードしてHDFSにダウンロードすることを考えました。ファイルがHDFSにロードされるとすぐに、私はFlinkの処理をトリガーしてCassandraに保存することができます。
ここで私の質問は、ファイルが有限のサイズであり、ベンダーの数に関係なく有限の数であることを知っています。ストリーム処理が過度に処理されているか、バッチ処理が後で待ち時間になりますか?