次の方法で共有


テーブル スキーマを編集する

この記事では、列の追加、名前変更、削除を行って、テーブルの名前を変更し、テーブルのスキーマを編集する方法について説明します。 参照されるオブジェクトとマッピングに対するテーブル スキーマの変更の影響と依存関係について概説します。

注意事項

  • 既存のインジェスト、インジェスト マッピング、更新ポリシー、関数、エクスポート、具体化されたビュー、およびその他の関連する操作は、テーブル スキーマの編集後に失敗する可能性があります。 依存関係を参照し、インジェスト マッピングの実装を編集し、それに応じてポリシー、関数、エクスポート、具体化されたビューを更新してください。

依存関係

テーブル名またはテーブル列を参照する依存関係が原因で、テーブル スキーマを編集すると、インジェストとクエリの失敗が発生する可能性があります。 スキーマ編集の影響を次の表に示します。

スキーマの編集 依存関係
テーブルの名前変更 具体化されたビュー:
* 既定では、古いテーブル名を直接参照するすべての具体化されたビューが、トランザクション形式で新しい名前を指すように更新されます
* テーブル名がビュー クエリによって呼び出されたストアド関数から参照されている場合は、 .alter materialized-view を使用してマテリアライズド ビュー参照を手動で更新する必要があります。
列の名前変更 * 列の名前を変更すると、インジェスト マッピング内のすべての参照が自動的に更新されます。
* 列の名前を変更すると、マッピング内の既存の変換が保持されます。
列の追加 * 新しい列を追加しても、インジェスト マッピングは自動的に更新されません。 新しい列を含める場合は、マッピングを手動で更新する必要があります。
* スキーマを編集しても、インジェスト中のテーブル列への受信データのマッピングは更新されません。
* 列を追加した後は、データが正しく取り込まれるように マッピング を更新してください。
インジェスト マッピングの更新の詳細については、「.alter ingestion mapping コマンド」を参照してください。
列の種類 列の種類を変更するとデータが失われるので、[テーブル スキーマの編集] オプションを使用した列の型の編集はサポートされていません。
列の削除 * 列を削除すると、すべてのインジェスト マッピングから列が削除されます。
* 列の削除は元に戻せないので、データが失われます。 削除された列のデータに対してクエリを実行することはできません。
* 注意 列を削除して保存し、もう一度追加しても、データは復元されません。 これは新しい列として動作し、インジェスト マッピングは更新されません。 インジェスト マッピングを手動で更新する必要があります。

[前提条件]

テーブル名の変更

テーブルの名前を変更すると、インジェスト マッピング内のすべての参照が自動的に更新されます。 場合によっては、テーブルのマッピングと参照を手動で更新する必要があります。 テーブルの名前を変更する前に 、依存関係 を確認します。

  1. 目的の KQL データベースを参照し、[エクスプローラー] ウィンドウで [テーブル] を展開します。

  2. 一覧からテーブルを選択し、[ その他] メニュー [...] を開きます。

    [スキーマの編集] が強調表示されている [その他のテーブル] メニューのスクリーンショット。

  3. [ テーブル スキーマの編集] ウィンドウで、テーブル名を編集します。 必要に応じて、テーブルの説明を編集します。

    テーブル名フィールドが強調表示されているテーブル スキーマの編集のスクリーンショット。

  4. [ 依存関係 ] セクションで、参照されているオブジェクトを確認します。

    • 既定では、 具体化されたビューの自動更新 が有効になっています。 コマンド ビューアーでコマンドの更新を表示できます。

    • 必要に応じて、 具体化されたビューの自動更新を無効にします。 依存関係の影響を確認し、必要に応じてテーブル インジェスト マッピングを手動で更新してください。

    コマンドビューアーと依存関係セクションのスクリーンショット。<「具体化されたビューの自動更新」(Auto update Materialized views)トグルが強調表示されています。

  5. [ 更新] を選択し、確認ウィンドウでテーブル名をもう一度入力し、[ テーブル スキーマの編集] を選択します。

    テーブル名フィールドが強調表示されている確認ウィンドウのスクリーンショット。

テーブル列の編集

テーブルの名前を変更して列を追加すると、インジェスト マッピング内の列へのすべての参照が自動的に更新されます。 場合によっては、テーブルのマッピングと参照を手動で更新する必要があります。 テーブル列を編集する前に 、依存関係 を確認します。

  1. 目的の KQL データベースを参照し、エクスプローラー ウィンドウで [テーブル] を展開します。

  2. 一覧からテーブルを選択し、[ その他] メニュー [...] を開きます。

    [スキーマの編集] が強調表示されている [その他のテーブル] メニューのスクリーンショット。

  3. 新しい列を追加するには、列の一覧の下部に列名を入力します。 列名は文字で始まる必要があり、数字、ピリオド、ハイフン、アンダースコアを含めることができます。

  4. 列のデータ型を選択します。 既定の列の種類は string ですが、[列の種類] フィールドのドロップダウン メニュー 変更できます。

  5. [列の追加] を選択して、列をさらに追加します。

  6. [ 依存関係 ] セクションで、参照されているオブジェクトを確認します。

    • 既定では、 マッピングの自動更新 が有効になっています。 コマンド ビューアーでインジェスト マッピング コマンドの更新を表示できます。

    • 必要に応じて、[ マッピングの自動更新] を無効にします。 依存関係の影響を確認し、必要に応じてテーブル インジェスト マッピングを手動で更新してください。

    [依存関係] セクションで自動更新マッピングが有効になっているコマンド ビューアーのスクリーンショット。

  7. 必要に応じて、データ インジェスト マッピングを更新します。