Azure Data Explorer では、Kusto 照会言語 (KQL) を使用して、Azure Storage に格納されている外部テーブルに対してクエリを実行できます。 Azure Storage の外部テーブルは、Azure Data Explorer で通常のテーブルに対してクエリを実行する場合と同じ方法でクエリを実行できます。
しくみ
外部テーブルを作成するときは、Azure Blob Storage BLOB コンテナーへのパスである 1 つ以上の接続文字列を指定します。 外部テーブルに対してクエリを記述すると、指定されたコンテナー内の BLOB が列挙され、それぞれがスキャンされてクエリに応答します。
パーティション分割
パーティション分割を使用して Azure Storage 外部テーブルに対してクエリを作成すると、すべてのフォルダーではなく、フィルターに一致するフォルダーのみがアクセスされます。 これにより、処理する必要があるデータの量が減り、クエリのパフォーマンスが大幅に向上する可能性があります。
Parquet ファイルを使用してクエリのパフォーマンスを最適化する
Parquet データ形式を使用して、Azure Storage 外部テーブルのクエリ パフォーマンスを最適化することをお勧めします。
Parquet は列形式のストレージ形式です。つまり、データは行ではなく列に格納されます。 Parquet では、データの特定の列にのみアクセスする必要があるクエリの方がはるかに効率的です。これは、関連する列のみを Azure Storage から読み取る必要がある場合です。
Parquet ファイルには通常、クエリ処理を大幅に高速化するメタデータが含まれています。 このメタデータを使用すると、各データ ブロックの列数、最小値と最大値、その他の統計情報などの重要な情報を迅速に取得できるため、すべての行をスキャンする必要がなくなります。
フィルター処理されたクエリを実行する場合、Parquet ファイル メタデータを使用して、関連するデータを含むファイルまたはファイルのセクションを識別できます。 この機能は、必要なデータのみを処理する必要があり、クエリのパフォーマンスを向上させます。