外部テーブルは、Azure Data Explorer データベースの外部に格納されているデータを参照するスキーマ エンティティです。 Azure Data Explorer Web UI を使用すると、ストレージ コンテナーからサンプル ファイルを取得し、これらのサンプルに基づいてスキーマを作成することで、外部テーブルを作成できます。 そうすると、Azure Data Explorer に取り込まずに、外部テーブルのデータを分析したりクエリを実行したりすることができます。 概要については、「外部テーブル」を参照してください。 外部テーブルを作成するさまざまな方法については、「Azure Storage の外部テーブルを作成および変更する」を参照してください。 この記事では、作成ウィザード エクスペリエンスを使用して外部テーブルを作成する方法について説明します。
前提条件
- Azure サブスクリプション。 無料の Azure アカウントを作成します。
- Azure Data Explorer クラスターとデータベース。 クラスターとデータベースを作成します。
- Azure Data Explorer Web UI にサインインして、クラスターへの接続を追加します。
外部テーブルを作成する
[配信先] タブが選択された状態で [Create external table]\(外部テーブルの作成\) ウィンドウが開きます。
配信先タブ
- [クラスター] と [データベース] の各フィールドには、値が事前に設定されています。 ドロップダウン メニューから別の宛先を選択できます。
-
[テーブル名] に、お使いのテーブルの名前を入力します。
ヒント
テーブル名には、英数字、ハイフン、アンダースコアなど、最大 1,024 文字を指定できます。 特殊文字はサポートされていません。
- [Next: Source](次へ: ソース) を選択します。
[ソース] タブ
[コンテナーへのリンク] では、コンテナーを 2 つの方法で追加できます。コンテナーの選択ボタンを使用してコンテナーを追加し、[URL の追加] ボタンまたは [コンテナーの追加] ボタンを使用してコンテナーを追加します。
最大 10 個のソース コンテナーを追加できます。
[コンテナーの選択] ボタンを使用してコンテナーを追加する
[コンテナーの選択] を選択します。
コンテナーで使用するサブスクリプションとストレージ アカウントを選択します。
[] を選択し、[] を追加します。 検証が完了すると、コンテナー リンクの右側に緑色のチェックが表示されます。
[URL の追加] または [コンテナーの追加] ボタンを使用してコンテナーを追加する
[URL の追加] または [コンテナーの追加] ボタンを選択します。
読み取りと一覧のアクセス許可を持つソースコンテナーにストレージ接続文字列を入力します。 検証が完了すると、コンテナー リンクの右側に緑色のチェックが表示されます。
ファイル フィルター
[File filters]\(ファイル フィルター\) を使用して、テーブルに含める必要のあるファイルをフィルター処理します。 フォルダー パス、ファイルの先頭、またはファイル拡張子でファイルをフィルター処理できます。
スキーマ定義ファイル
最初のソース コンテナーには、ファイル フィルターの下に ファイルが表示されます。
- ファイルの左側にある円を選択して、スキーマ定義ファイルを選択します。 このファイルは、テーブル スキーマを生成するために使用されます。
- [Next: Schema]\(次へ: スキーマ\) を選択します。 [スキーマ] タブが開きます。
スキーマ タブ
タブの右側では、データをプレビューできます。 左側では、テーブル定義に パーティション を追加して、ソース データにすばやくアクセスし、パフォーマンスを向上させることができます。
注
マッピングは外部テーブルの定義の一部ではなく、ウィザードではサポートされていません。 必要に応じて 、後でマッピングを構成 できます。 CSV ファイル内の最後の列を削除したり、JSON ファイル内の列名を変更したりするための一部の機能では、正しく機能するためにマッピングが必要です。
[Add partition]\(パーティションの追加\) を選択します。
パーティションのウィンドウが開きます。 パーティションはファイルのサブパスに対して定義されます。パス プレフィックス フィールドを使用して変更できます。 適用するパーティションごとに、次のようにフィールドに入力します。
フィールド 説明 必須/省略可能 パーティション名 パーティションの識別に使用されます。 任意の名前を入力できます。 必須 タイプ データ パーティション分割列のデータ型です。 必須 データ列 パーティション分割に使用される列です。 仮想列は URL パスに従ってパーティション分割されます。 必須 機能 パーティション分割に使用されるデータ列に適用される関数です。 省略可能 関数の引数 パーティション関数で使用される引数です。 関数を使用する場合は必須です。 パス プレフィックス パーティション分割が定義されているファイルのサブパスです。 このプレフィックスによって、[Uri preview]\(URI プレビュー\) ボックスに表示されるように、外部テーブルの URL が変更されます。これは、スキーマ定義ファイルの URI と一致している必要があります。 省略可能 日時パターン テーブル URI パスの作成に使用する日付の形式。 省略可能 たとえば、CustomerName というパーティション名は、パーティション分割する値が、URL の顧客名の部分であることを示しています。 前の例では、2 つのパーティションを宣言しています。1 つは顧客名に対して 1 つのパーティション、1 つは URL に埋め込まれた日付のパーティションです。
注
仮想列は、ファイル パスから抽出された列データとしてスキーマの一部として表示され、後でクエリでこのデータを使用できます。
[Add partition]\(パーティションの追加\) を選択して、もう 1 つのパーティションを追加します。
[保存] を選択します。 これで、追加したパーティションが左ペインの [パーティション] の一覧に表示されます。 プレビューではパーティション分割列を変更できません。
[Next: Create table]\(次へ: テーブルの作成\) を選択します。 テーブルを作成すると、 外部テーブルが正常に作成された ウィンドウが開きます。
テーブルを作成するために使用されたコマンドを表示するには、[コマンドの表示] を選択します。
外部テーブルの作成を元に戻すには、[ツール]>[元に戻す] を選択します。
外部テーブルにクエリを実行する
結果のテーブルには、定義した条件に適合するすべてのファイルのデータが含まれます。
external_table()関数を使用して、このテーブルに対してクエリを実行できます。 外部テーブルにクエリを実行する方法の詳細については、「外部テーブルに対するクエリの実行」を参照してください。