Delta Live Tables を使用したデータの読み込み、変換、書き込み
このセクションの記事では、 Delta Live Tables パイプラインでのデータ取り込みと変換、および変換されたデータの外部サービスへの書き込みの一般的なパターン、推奨事項、および例について説明します。 ソース データを取り込んでパイプラインに初期データセットを作成する場合、これらの初期データセットは一般に ブロンズ テーブルと呼ばれ、多くの場合、単純な変換を実行します。 対照的に、パイプライン内の最終テーブル (一般に ゴールド テーブルと呼ばれます) では、多くの場合、複雑な集計や、 APPLY CHANGES INTO
操作のターゲットであるソースからの読み取りが必要になります。
データのロード
Delta Live Tablesを使用して、DatabricksのApache Sparkでサポートされている任意のデータソースからデータをロードできます。クラウドオブジェクトストレージ、Kafka などのメッセージ バス、PostgreSQL などの外部システムなど、さまざまなソースからデータをロードするためのパターンの例については、 Delta Live Tables を使用したデータのロードを参照してください。 これらの例では、最適化された取り込みエクスペリエンスを実現するために、Delta Live Tables の Auto Loader でストリーミング テーブルを使用するなどの推奨事項が紹介されています。
データフロー
Delta Live Tablesにおけるフローはソース データを段階的に処理してターゲット ストリーミング テーブルを更新するストリーミング クエリです。 Delta Live Tables パイプラインを実装するために必要な多くのストリーミング クエリは、クエリ定義の一部として暗黙的なフローを作成します。 Delta Live Tables では、より特殊な処理が必要な場合にフローを明示的に宣言することもサポートされています。 Delta Live Tables フローの詳細と、フローを使用してデータ処理タスクを実装する例については、 Delta Live Tables フローを使用してデータを段階的にロードおよび処理するを参照してください。
チェンジデータキャプチャ ( CDC )
チェンジデータキャプチャ (CDC) は、ソース システム内のデータに加えられた変更 (挿入、更新、削除など) をキャプチャするデータ統合パターンです。 CDC は、ソース システムから Databricks にテーブルを効率的にレプリケートするために一般的に使用されます。 Delta Live Tables は、 APPLY CHANGES
API を使用して CDC を簡素化します。 Delta Live Tables の APPLY CHANGES
API は、順序が間違っているレコードを自動的に処理することで、CDC レコードの正しい処理を保証し、順序が間違っているレコードを処理するための複雑なロジックを開発する必要がなくなります。 チェンジデータキャプチャとは(CDC)と APPLY CHANGES API: Delta Live Tablesでチェンジデータキャプチャをシンプルにをご覧ください。
データの変換
Delta Live Tables を使用すると、データセットの変換を宣言し、クエリ ロジックを通じてレコードを処理する方法を指定できます。 パイプラインでのストリーミング テーブル、マテリアライズド ビュー、ストリーム静的結合、MLflow モデルの使用など、Delta Live Tables パイプラインを構築する際の一般的な変換パターンの例については、 Delta Live Tables を使用したデータの変換を参照してください。
ウォーターマークを使用して Delta Live Tables のステートフル処理を最適化する
状態が保持されているデータを効果的に管理するには、集計、結合、重複排除などの Delta Live Tables でのステートフル ストリーム処理の実行時にウォーターマークを使用できます。 ストリーム処理において、ウォーターマークは、ステートフル操作を実行するときにデータ処理の時間ベースのしきい値を定義できる Apache Spark 機能です。 到着したデータは、しきい値に達するまで処理され、しきい値に達した時点で、しきい値によって定義された時間枠が閉じられます。 ウォーターマークは、主に大規模なデータセットや長時間実行される処理を処理する場合に、クエリ処理中の問題を回避できます。
例と推奨事項については、 ウォーターマークを使用した Delta Live Tables でのステートフル処理の最適化を参照してください。
Delta Live Tables シンクを使用して外部サービスにレコードを書き込むWrite records to external services with Delta Live Tables sinks
プレビュー
Delta Live Tables sink
API は パブリック プレビュー段階です。
変換されたデータをDatabricks DeltaUnity Catalogと the のHive metastore Delta Live Tables管理 テーブルに永続化するだけでなく、ApacheKafka Azureシンクを使用して、 や Event Hubs などのイベント ストリーミング サービスや、Unity Catalog またはHive metastore によって管理される外部テーブルなどの外部ターゲットに永続化できます。「Delta Live Tables シンクを使用して外部サービスにレコードをストリームする」を参照してください。