この記事では、クラウド オブジェクト ストレージからの増分インジェストを構成する方法の一覧を示します。
データの追加 UI
追加のデータ UI を使用して、クラウド オブジェクト ストレージのデータからマネージド テーブルを作成する方法については、「Unity Catalog の外部の場所を使用したデータの読み取り」を参照してください。
ノートブックまたは SQL エディター
このセクションでは、ノートブックまたは Databricks SQL エディターを使用してクラウド オブジェクト ストレージからの増分インジェストを構成するためのオプションについて説明します。
自動ローダー
自動ローダーでは、追加の設定を行わなくても、クラウド ストレージに到着した新しいデータ ファイルが段階的かつ効率的に処理されます。 自動ローダーは、cloudFiles と呼ばれる構造化ストリーミング ソースを提供します。 クラウド ファイル ストレージ上に入力ディレクトリ パスを指定すると、cloudFiles ソースでは、新しいファイルが到着したときにそれらが自動的に処理されます。また、そのディレクトリ内の既存のファイルも処理できます。
COPY INTO
COPY INTOを使用すると、SQL ユーザーは、クラウド オブジェクト ストレージから Delta テーブルにデータをべき等かつ増分的に取り込むことができます。 Databricks SQL、ノートブック、および Lakeflow ジョブで COPY INTO を使用できます。
COPY INTO を使用するタイミングと自動ローダーを使用するタイミング
自動ローダーか COPY INTO かを選択するときに考慮すべきいくつかの点を次に示します。
- 時間をかけて数千ファイルを取り込む場合は、
COPY INTOを使用できます。 時間の経過とともに数百万以上のファイルが予想される場合は、Auto Loaderを使用してください。 自動ローダーでは、COPY INTOと比較してファイルを検出する操作の合計が少なくて済み、処理を複数のバッチに分割できます。つまり、自動ローダーの方がコストが低く、大規模で効率が高くなります。 - データ スキーマが頻繁に展開する予定の場合は、自動ローダーにより、スキーマの推論と展開に関してより適切なプリミティブなデータ型が得られます。 詳細については、「自動ローダーでのスキーマの推論と展開の構成」を参照してください。
- 再アップロードされたファイルのサブセットの読み込みは、
COPY INTOのほうが少し簡単に管理できます。 自動ローダーを使用すると、選択したファイルのサブセットを再処理することが困難になります。 ただし、自動ローダー ストリームを同時に実行しながら、COPY INTOを使用して、ファイルのサブセットを再度読み込むことは可能です。
- ファイル取り込みの拡張性と堅牢度を上げるため、自動ローダーでは、SQL ユーザーはストリーミング テーブルを活用できます。 Databricks SQL でのストリーミング テーブルの使用を参照してください。
自動ローダーと COPY INTO の概要とデモについては、次の YouTube 動画 (2 分) をご覧ください。
Lakeflow Spark 宣言パイプラインと自動ローダーを使用して ETL を自動化する
自動ローダーと Lakeflow Spark 宣言パイプラインを使用すると、スケーラブルな増分インジェスト インフラストラクチャのデプロイを簡略化できます。 Lakeflow Spark 宣言型パイプラインでは、ノートブックで見つかった標準的な対話型実行は使用されず、運用環境に対応したインフラストラクチャのデプロイが強調されます。
サード パーティのインジェスト ツール
Databricks は、クラウド オブジェクト ストレージを含むさまざまなソースから取り込むためのテクノロジ パートナー統合を検証します。 これらの統合により、さまざまなソースから Azure Databricks へ、少量のコードでスケーラブルなデータ インジェストが可能になります。 「テクノロジ パートナー」を参照してください。 一部のテクノロジ パートナーは「Databricks Partner Connect とは」で紹介されており、サード パーティ製ツールをレイクハウス データに簡単に接続できる UI が提供されます。