違いは、取り込まれるデータにあります。トピックからそれぞれのテーブルに読み取られるデータが異なります。個のパーティションを持つ入力トピックがあるとします。アプリケーションで、このトピックをテーブルに読み込もうとしています。データが取り込まれます。データが取り込まれます。値をキーによって参照する機能もあります。グローバルテーブルには、次のような利点があります。ルックアップがサポートされ(つまり、テーブル内のデータをルックアップするときに、レコードキーだけでなく、レコードの値に含まれる値も使用できます)、複数の結合をより効率的に連結できます。する必要がありません。するために使用できます。グローバルテーブルには、次のような欠点があります。比べて、ローカルストレージの消費量が多くなります。ブローカーの負荷が増大します。概念と、それがどのようにモデル化され、統合されるかという側面がきわめて重要です。いくつかの操作は、時間境界に基づいて定義されます。次の時間の概念がサポートされています。イベント時刻¶イベントまたはデータレコードが発生した(つまり、ソースによって最初に作成された)時点の時刻。イベント時刻セマンティクスを実現するには、通常、データレコードの生成時に、データレコードにタイムスタンプを埋め込む必要があります。センサーが位置の変更をキャプチャした時刻になります。処理時刻¶イベントまたはデータレコードがストリーム処理アプリケーションによって処理された(つまり、レコードが消費された)時点の時刻。自動車のセンサーから報告された地理位置情報データを読み取って処理し、フリート管理ダッシュボードに提示する分析アプリケーションがあるとします。基盤とするバッチパイプラインの場合)が使用されます。ブローカーによってトピックパーティションに格納された時点の時刻。同様に、タイムスタンプがデータレコード自体に組み込まれます。ブローカーによってレコードがターゲットトピックに追加されるときに生成される点が異なります。インジェストまでの時間差が十分に小さいと見なされる場合、インジェスト時刻はイベント時刻とおおよそ同じと考えられます。定義は個々のユースケースによって異なります。プロデューサークライアントのバージョンが古い場合)や、プロデューサーでタイムスタンプを直接割り当てることができない場合(たとえば、ローカルクロックへのアクセス権がない場合)など、イベント時刻セマンティクスを適用できないユースケースでは、インジェスト時刻が合理的な代替手段となることがあります。ストリーム時刻¶これまでに処理されたすべてのレコードで確認されたタイムスタンプのうちの最大値。ストリーム時刻をタスクごとに追跡します。このようなレコードごとのタイムスタンプは、ストリームの時間的な進行状況を表し(ただし、ストリーム内のレコードが順序どおりとは限りません)、結合などの時間に依存する操作で利用されます。するためにも使用されます。実際のタイムスタンプエクストラクターの実装では、データレコードの実際のコンテンツ、たとえば組み込みのタイムスタンプフィールドに基づいてタイムスタンプを取得するか計算することで、イベント時刻またはインジェスト時刻のセマンティクスを提供できます。処理時点の現在の実時間を返して、時刻セマンティクスをストリーム処理アプリケーション処理に渡すなど、他の任意のアプローチを使用することもできます。このように、開発者はビジネスニーズに応じて異なる時間の概念やセマンティクスを適用できます。レコードを書き込むときは、これらの新しいレコードに常にタイムスタンプが割り当てられます。タイムスタンプの割り当て方法はコンテキストによって異なります。入力レコードを直接処理することで新しい出力レコードが生成される場合、出力レコードのタイムスタンプは、入力レコードのタイムスタンプから直接継承されます。現在の内部時刻として定義されます。場合、結果の更新レコードのタイムスタンプは、更新をトリガーした最新の入力レコードのタイムスタンプになります。集約と結合では、タイムスタンプは次のルールに従って計算されます。ストリームとテーブルの結合の場合、出力レコードには、ストリームレコードからのタイムスタンプが割り当てられます。ステートレス操作には、入力レコードのタイムスタンプが割り当てられます。その兄弟メソッドでは、すべての出力レコードに、対応する入力レコードからのタイムスタンプが継承されます。)がストリームデータパイプライン全体で適切に同期されるようにしなければなりません。少なくともこのような要素の把握と追跡が必要です。時間(エポックからの秒数)で指定するように取り決めると役立ちます。時間セマンティクスが異なるトピックを混合しないようにする必要があります。つの入力ストリームまたはテーブルを受け取り、複数の入力レコードを単一の出力レコードに結合して、新しいテーブルを生成します。集約の例として、カウントや合計の計算があります。集約値を更新することが可能になります。新しい集約値が出力されます。あるため、同じキーを持つ以前の値は、後続の処理ステップで新しい値によって上書きされると見なされます。順序外のレコードの詳細については、「順序外の処理」を参照してください。つの入力ストリームまたはテーブルをマージし、新しいストリームまたはテーブルを生成します。結合されるストリームやテーブルの種類によって異なります。呼ばれる単位に分けるかを制御します。ウィンドウはレコードキーごとに追跡されます。