次の方法で共有


Azure Synapse Data Explorer データ インジェストの概要 (プレビュー)

Von Bedeutung

Azure Synapse Analytics データ エクスプローラー (プレビュー) は、2025 年 10 月 7 日に廃止されます。 この日以降、Synapse Data Explorer で実行されているワークロードは削除され、関連付けられているアプリケーション データは失われます。 Microsoft Fabric の Eventhouse に移行 することを強くお勧めします。

Microsoft Cloud Migration Factory (CMF) プログラムは、お客様が Fabric に移行できるように設計されています。 このプログラムは、顧客に無料でハンズオン キーボード リソースを提供します。 これらのリソースは、定義済みの合意されたスコープで、6 ~ 8 週間割り当てられます。 顧客の指名は、Microsoft アカウント チームから受け入れられるか、CMF チームに ヘルプの要求 を送信することによって直接受け入れられます。

データ インジェストは、1 つ以上のソースからデータ レコードを読み込み、Azure Synapse Data Explorer プールのテーブルにデータをインポートするために使用されるプロセスです。 取り込まれると、データはクエリで使用できるようになります。

データ インジェストを担当する Azure Synapse Data Explorer データ管理サービスは、次のプロセスを実装します。

  • データをバッチでプルするか、外部ソースからストリーミングし、保留中の Azure キューから要求を読み取ります。
  • 同じデータベースとテーブルに流れるバッチ データは、インジェスト スループット用に最適化されています。
  • 初期データが検証され、必要に応じて形式が変換されます。
  • スキーマの照合、整理、インデックス作成、エンコード、データの圧縮など、さらにデータ操作を行います。
  • データは、設定された保持ポリシーに従ってストレージに保持されます。
  • 取り込まれたデータは、クエリで使用できるエンジンにコミットされます。

サポートされているデータ形式、プロパティ、およびアクセス許可

バッチ処理とストリーミング インジェスト

  • バッチインジェストはデータのバッチ処理を行い、高いインジェスト スループットのために最適化されています。 この方法は、推奨される最もパフォーマンスの高いインジェストの種類です。 データは、インジェストプロパティに従ってバッチ処理されます。 データの小さなバッチがマージされ、高速なクエリ結果を得るための最適化が行われます。 インジェスト バッチ処理ポリシーは、データベースまたはテーブルに設定できます。 既定では、バッチ処理の最大値は 5 分、1,000 項目、または合計サイズ 1 GB です。 バッチ インジェスト コマンドのデータ サイズ制限は 4 GB です。

  • ストリーミング インジェスト は、ストリーミング ソースからの継続的なデータ インジェストです。 ストリーミング インジェストを使用すると、テーブルごとに少量のデータ セットに対してほぼリアルタイムの待機時間を実現できます。 データは最初に行ストアに取り込まれ、次に列ストアのエクステントに移動されます。

インジェストの方法とツール

Azure Synapse Data Explorer では、いくつかのインジェスト方法がサポートされています。それぞれに独自のターゲット シナリオがあります。 これらの方法には、インジェスト ツール、さまざまなサービスへのコネクタとプラグイン、マネージド パイプライン、SDK を使用したプログラムによる取り込み、インジェストへの直接アクセスなどがあります。

マネージド パイプラインを使用したインジェスト

外部サービスによって管理 (調整、再試行、モニター、アラートなど) を行う必要がある組織では、コネクタを使用することが最も適切なソリューションである可能性があります。 キューに入った取込処理は、大量のデータに適しています。 Azure Synapse Data Explorer では、次の Azure Pipelines がサポートされています。

  • Synapse パイプライン: Synapse パイプラインの分析ワークロード用のフル マネージド データ統合サービス 、サポートされている 90 を超えるソースと接続して、効率的で回復性の高いデータ転送を提供します。 Synapse パイプラインは、さまざまな方法で監視できる分析情報を得るために、データの準備、変換、強化を行います。 このサービスは、1 回限りのソリューションとして、定期的なタイムラインで使用することも、特定のイベントによってトリガーすることもできます。

SDK を使用したプログラムによるインジェスト

Azure Synapse Data Explorer には、クエリとデータ インジェストに使用できる SDK が用意されています。 プログラムによるインジェストは、インジェスト プロセス中および取り込みプロセス後のストレージ トランザクションを最小限に抑えることで、インジェスト コスト (COG) を削減するために最適化されています。

開始する前に、次の手順を使用して、プログラムによるインジェストを構成するための Data Explorer プール エンドポイントを取得します。

  1. Synapse Studio の左側のペインで、 [管理]>[Data Explorer プール] を選びます。

  2. 詳細を表示するために使用するデータ エクスプローラー プールを選択します。

    [データ エクスプローラー プール] 画面のスクリーンショット。既存のプールの一覧が表示されています。

  3. クエリとデータ インジェストのエンドポイントを書き留めます。 Data Explorer プールへの接続を構成するときは、クエリ エンドポイントをクラスターとして使用します。 データ インジェスト用に SDK を構成する場合は、データ インジェスト エンドポイントを使用します。

    [データ エクスプローラー プールのプロパティ] ウィンドウのスクリーンショット。クエリとデータ インジェストの URI アドレスが表示されています。

使用可能な SDK とオープン ソース プロジェクト

ツール

  • ワンクリック インジェスト: さまざまな種類のソースからテーブルを作成および調整することで、データをすばやく取り込めます。 ワンクリック インジェストでは、Azure Synapse Data Explorer のデータ ソースに基づいてテーブルとマッピング構造が自動的に提案されます。 ワンクリック インジェストは、1 回限りのインジェストや、データが取り込まれたコンテナー上の Event Grid を介した継続的インジェストの定義に使用できます。

Kusto クエリ言語の取り込み制御コマンド

Kusto クエリ言語 (KQL) コマンドを使用して、データをエンジンに直接取り込むことができる方法は多数あります。 このメソッドは Data Management サービスをバイパスするため、探索とプロトタイプ作成にのみ適しています。 運用環境または大量のシナリオでは、この方法を使用しないでください。

  • インライン インジェスト: 制御コマンド .ingest インライン がエンジンに送信され、取り込まれるデータはコマンド テキスト自体の一部になります。 この方法は、即席のテストを目的としたものです。

  • クエリからの取り込み: 制御コマンド .set、.append、.set-or-append、または .set-or-replace がエンジンに送信され、クエリまたはコマンドの結果として間接的にデータが指定されます。

  • ストレージからの取り込み (pull): 制御コマンド .ingest into がエンジンに送信され、データはエンジンからアクセス可能な外部ストレージ (Azure Blob Storage など) に格納され、コマンドによって指し示されます。

取り込み制御コマンドの使用例については、「 データ エクスプローラーを使用した分析」を参照してください。

インジェスト プロセス

ニーズに最も適したインジェスト方法を選択したら、次の手順を実行します。

  1. 保持ポリシーを設定する

    Azure Synapse Data Explorer でテーブルに取り込まれたデータは、テーブルの有効な保持ポリシーの対象となります。 テーブルに明示的に設定しない限り、有効なアイテム保持ポリシーはデータベースのアイテム保持ポリシーから派生します。 ホット リテンションは、クラスター サイズと保持ポリシーによって左右されます。 使用可能な領域よりも多くのデータを取り込むと、最初のデータにコールド リテンションが適用されます。

    データベースのアイテム保持ポリシーがニーズに適していることを確認します。 そうでない場合は、テーブルレベルで明示的に上書きしてください。 詳細については、「保持ポリシー」を参照してください。

  2. テーブルを作成する

    データを取り込むには、事前にテーブルを作成する必要があります。 次のいずれかのオプションを使用します。

    レコードが不完全な場合、またはフィールドを必要なデータ型として解析できない場合は、対応するテーブル列に null 値が設定されます。

  3. スキーマ マッピングを作成する

    スキーマ マッピングは 、ソース データ フィールドを変換先テーブルの列にバインドするのに役立ちます。 マッピングを使用すると、定義された属性に基づいて、異なるソースのデータを同じテーブルに取り込むことができます。 さまざまな種類のマッピングがサポートされており、行指向 (CSV、JSON、AVRO)、列指向 (Parquet) の両方がサポートされています。 ほとんどの方法では、マッピングを テーブルに事前に作成 し、ingest コマンド パラメーターから参照することもできます。

  4. 更新ポリシーを設定 する (省略可能)

    一部のデータ形式マッピング (Parquet、JSON、Avro) では、単純で便利な取り込み時間変換がサポートされています。 このシナリオでは、取り込み時により複雑な処理が必要な場合は、更新ポリシーを使用します。これにより、Kusto クエリ言語コマンドを使用した軽量な処理が可能になります。 更新ポリシーは、元のテーブルの取り込まれたデータに対して抽出と変換を自動的に実行し、結果のデータを 1 つ以上の変換先テーブルに取り込みます。 更新ポリシーを設定します。

次のステップ