方法: Lake データベースを変更します。

この記事では、データベースデザイナーを使用して Azure Synapse の既存の Lake データベース を変更する方法について説明します。 データベース デザイナーを使用すると、コードを記述することなく、データベースを簡単に作成してデプロイできます。

前提条件

  • Synapse ワークスペースで lake データベースを作成するには、Synapse 管理者または Synapse 共同作成者の権限が必要です。
  • テーブルを作成する際に [データ レイクから] オプションを使用する場合は、データ レイクに対するストレージ BLOB データ共同作成者の権限が必要です。

データベース プロパティを変更します。

  1. Azure Synapse Analytics ワークスペースの [ホーム] タブから、左側の [データ] タブを選択します。 データ タブが開き、ワークスペースに既に存在するデータベースの一覧が表示されます。

  2. [データベース] セクションにカーソルを合わせ、変更するデータベースの横にある省略記号 ([...]) を選択し、[開く] を選択します。

    既存のデータベースを開く方法を示すスクリーンショット

  3. 選択したデータベースがキャンバスに読み込まれたデータベースと デザイナー タブが開きます。

  4. データベース デザイナーには、タブの右上にある [プロパティ] アイコンを選択して開くことができる [プロパティ] ペインがあります。[プロパティ] アイコンの場所を示すスクリーンショット

    • 名前 データベースのパブリッシュ後に名前を編集することはできないため、選択した名前が正しいか確認してください。
    • 説明 データベースの説明は省略可能ですが、説明を入力すれば、ユーザーがデータベースの目的を理解しやすくなります。
    • データベース ストレージ設定 このセクションには、データベースのテーブルの既定のストレージ情報が表示されます。 既定の設定は、テーブル自体でオーバーライドされない限り、データベース内の各テーブルに適用されます。
    • リンクされたサービス Azure Data Lake Storage にデータを格納するために使用されるリンクされた既定のサービスです。 Synapse ワークスペースに関連付けられているリンクされた既定のサービスが表示されますが、リンクされたサービスを任意の ADLS ストレージ アカウントに変更できます。
    • 入力フォルダーは、ファイル ブラウザーを使用してリンクされたサービス内の既定のコンテナーとフォルダー パスを設定するか、鉛筆アイコンからパスを手動で編集します。
    • データ形式 Azure Synapse データの lake データベースでは、データのストレージ形式として parquet および区切りテキストをサポートしています。
  5. データベースにテーブルを追加するには、 [+ テーブル] ボタンを選択します。

    • [カスタム] を選択すると、キャンバスに新しいテーブルが追加されます。
    • [テンプレートから] を選択すると、ギャラリーが開き、新しいテーブルを追加するときに使用するデータベース テンプレートを選択できます。 詳細については、データベース テンプレートからの Lake データベースの作成に関するページを参照してください。
    • [データ レイクから] を選択すると、レイクに既に存在するデータを使用してテーブル スキーマをインポートできます。
  6. [カスタム] を選択します。 "Table_1" という名前の新しいテーブルがキャンバスに表示されます。

  7. 次に、テーブル名、説明、ストレージ設定、列、リレーションシップなど、Table_1 をカスタマイズできます。 以下の「データベース内のテーブルをカスタマイズする」セクションを参照してください。

  8. [+ テーブル][データ レイクから] の順に選択して、データ レイクから新しいテーブルを追加します。

  9. [Data Lake から外部テーブルを作成する] ペインが表示されます。 ペインに以下の詳細を入力し、 [続行] を 選択します。

    • 外部テーブル - 作成するテーブルに付ける名前を指定します。
    • リンクされたサービス - Azure Data Lake Storage の場所が含まれ、データ ファイルが存在するリンクされたサービス。
    • 入力ファイルまたはフォルダーは - ファイル ブラウザーを使用して、使用するテーブルを作成するレイク上のファイルに移動して選択します。 [データ レイク] ペインからの外部テーブルの作成に関するオプションを示すスクリーンショット
    • 次の画面では、Azure Synapse でファイルをプレビューし、スキーマを検出します。
    • [新しい外部テーブル] ページに移動します。ここでは、データ形式に関連する設定を更新し、データのプレビューを実行して、Azure Synapse がファイルを正しく識別しているかどうかを確認します。
    • 設定に問題がなければ、 [作成] を選択します。
    • 選択した名前の新しいテーブルがキャンバスに追加され、 [テーブルのストレージ設定] セクションに、指定したファイルが表示されます。
  10. データベースがカスタマイズされたので、次にパブリッシュします。 Synapse ワークスペースとの Git 統合を使用している場合は、変更をコミットし、コラボレーション ブランチに統合する必要があります。 Azure Synapse でのソース管理の詳細。 Synapse Live モードを使用している場合は、[パブリッシュ] を選択できます。

    • データベースをパブリッシュする前に、エラーが検証されます。 エラーが見つかると、[通知] タブに表示されます。このタブには、エラーを解決する方法が表示されます。

      データベースの検証エラーを示す [検証] ペインのスクリーンショット

    • パブリッシュすると、データベース スキーマが Azure Synapse メタストアに作成されます。 パブリッシュ後、データベースとテーブル オブジェクトが他の Azure サービスから参照できるようになり、データベースのメタデータを、 Power BI や Microsoft Purview などのアプリに送信できるようになります。

データベース内のテーブルをカスタマイズします。

データベース デザイナーを使用すると、データベース内の任意のテーブルを完全にカスタマイズできます。 テーブルを選択すると、3 つのタブを使用できます。各タブには、テーブルのスキーマまたはメタデータに関連する設定が含まれています。

全般

[全般] タブには、テーブル自体に固有の情報が表示されます。

  • 名前 テーブルの名前です。 テーブル名は、データベース内の任意の一意の値にカスタマイズできます。 同じ名前の複数のテーブルは使用できません。

  • テーブルがデータベース テンプレートから作成された場合、この値は から(オプション) 継承されます。 編集することはできず、どのテンプレートテーブルから派生したかをユーザーに通知します。

  • 説明 テーブルの説明。 テーブルがデータベース テンプレートから作成された場合、このテーブルで表される概念の説明が含まれます。 このフィールドは編集可能であり、ビジネス要件に一致する説明に合わせて変更できます。

  • [表示フォルダー] このテーブルがデータベーステンプレートの一部としてグループ化された、ビジネス領域フォルダーの名前が表示されます。 カスタムテーブルの場合、この値は "Other" になります。

    [全般] タブのスクリーンショット

  • さらに、テーブルで使用される基になるストレージ情報の設定を提供する Storage settings for tableという名前の折りたたみ可能なセクションがあります。

  • [データベースの既定値から継承する] の既定では、以下のストレージ設定を データベースの [プロパティ] タブで設定された値から継承するか、個別に設定するかを決定するチェックボックスをオンにします。 ストレージ値をカスタマイズする場合は、このボックスをオフにします。

    • リンクされたサービス Azure Data Lake Storage にデータを格納するために使用されるリンクされた既定のサービスです。 別の ADLS アカウントを選択するには、これを変更します。
    • [入力フォルダー] このテーブルに読み込まれるデータが格納される ADLS 内のフォルダーを入力します。 フォルダーの場所を参照するか、鉛筆アイコンを使用して手動で編集できます。
    • データ形式 Azure Synapse の 入力フォルダー Lake データベース内のデータのデータ形式は、データのストレージ形式として parquet と区切られたテキストをサポートします。 データ形式がフォルダー内のデータと一致しない場合、テーブルに対するクエリは失敗します。
  • 区切られたテキストの データ形式 については、次の設定があります。

    • 行ヘッダー データに行ヘッダーがある場合は、このチェックボックスをオンにします。
    • 文字列にデータが複数行がある場合は、[データ内の複数行を有効化] チェックボックスをオンにします。
    • [引用符文字] は、区切りテキスト ファイルのカスタム引用符文字を指定します。
    • [エスケープ文字] は、区切りテキスト ファイルのエスケープ引用符文字を指定します。
    • データ圧縮データで使用される圧縮の種類です。
    • 区切り記号 データファイルで使用されるフィールド区切り記号です。 サポートされている値は、コンマ (,)、タブ (\t)、およびパイプ (|) です。
    • [パーティション列] には、パーティション列の一覧が表示されます。
    •       SQL サーバーレスから Dataverse データに対してクエリを実行する場合は、[追加可能] チェック ボックスをオンにします。
  • Parquet データには、次の設定があります。

    • データ圧縮データで使用される圧縮の種類です。

[列]

[列] タブには、テーブルの列が表示され、変更することができます。 このタブには、 標準の列パーティション列という2つの列の一覧があります。 標準列 は、データを格納する任意の列であり、主キーであり、それ以外の場合はデータのパーティション分割には使用されません。 パーティション列 にはデータも格納されますが、列に格納されている値に基づいて、基になるデータをフォルダーに分割するために使用されます。 各列には、次のプロパティがあります。 [列] タブのスクリーンショット

  • 名前 列の名前。 テーブル内で一意にする必要があります。
  • キーは、列がテーブルの主キー (PK) と外部キー (FK) のどちらであるかを示します。 パーティション列には適用できません。
  • 説明 列の説明。 列がデータベーステンプレートから作成された場合、この列で表される概念の説明が表示されます。 このフィールドは編集可能であり、ビジネス要件に一致する説明に合わせて変更できます。
  • Null 値の許容 は、この列に null 値が含まれるかどうかを示します。 パーティション列には適用できません。
  • データ型によって、使用可能な Spark データ型の一覧に基づいて列のデータ型が設定されます。
  • Format / Length を 使用すると、データ型に応じて、列の形式または最大長をカスタマイズできます。 日付とタイムスタンプのデータ型には形式ドロップダウンがあります。文字列などの他の型には最大長フィールドがあります。 一部の型が固定長である場合、すべてのデータ型に値があるというのではありません。 [列] タブ の上部 には、列の操作に使用できるコマンド バーがあります。
  • [キーワードでフィルター] を選択すると、列の一覧が、指定したキーワードに一致する項目にフィルター処理されます。
  • + 列、新しい列を追加できます。 3 つの可能なオプションがあります。
    • 新しい列では 、新しいカスタム標準列が作成されます。
    • [テンプレートから ] を選択すると、探索ウィンドウが開き、テーブルに含めるデータベース テンプレートの列を識別できます。 データベース テンプレートを使用してデータベースが作成されていない場合、このオプションは表示されません。
    • [パーティション列] では、新しいカスタム パーティション列が追加されます。
  • 複製 は、選択した列を複製します。 複製された列は、選択した列と常に同じ型です。
  • 型の変換は、選択した標準列パーティション 列に変更 し、その他の方法で使用します。 このオプションは、異なる型の複数の列を選択した場合、または選択した列が列に設定された PK または NULL 値の許容 フラグのために変換できない場合は、グレー表示されます。
  • 削除 選択した列をテーブルから削除します。 この操作は、元に戻すことはできません。

また、上の図に示すように、列をポイントまたはクリックしたときに列名の左側に表示される二重の縦の省略記号を使用して、列の順序をドラッグ アンド ドロップして再配置することもできます。

パーティション列

パーティション列は、これらの列の値に基づいてデータベース内の物理データをパーティション分割するために使用されます。 パーティション列を使用すると、ディスク上のデータをよりパフォーマンスの高いチャンクに簡単に分散できます。 Azure Synapseのパーティション列は、常にテーブル スキーマの末尾に表示されます。 また、パーティション フォルダーを作成するときに、上から下に使用されます。 たとえば、パーティション列が Year と Month の場合、ADLS の構造は次のようになります。

パーティション分割によるフォルダーの階層を示すスクリーンショット: 2020 -> Jan、Feb -> ファイル

ここで、ファイル1 と ファイル2 には、Year と Month の値がそれぞれ 2020 年と Jan であるすべての行が含まれます。 テーブルにパーティション列が追加されるほど、この階層に追加されるファイルが多く、パーティションの全体的なファイル サイズが小さになります。

Azure Synapseテーブルにパーティション列を追加しても、この階層は強制または作成されません。 パーティション構造を作成するには、Synapse Pipelines または Spark ノートブックを使用して、テーブルにデータを読み込む必要があります。

リレーションシップ

[リレーションシップ] タブでは、データベース内のテーブル間のリレーションシップを指定できます。 データベース デザイナーのリレーションシップは情報提供であり、基になるデータに制約を適用しません。 他の Microsoft アプリケーションによって読み取られるのは、変換を促進したり、ビジネス ユーザーにテーブルの接続方法に関する分析情報を提供したりするために使用できます。 リレーションシップ ペインには、次の情報があります。 [リレーションシップ] タブのスクリーンショット

  • (テーブル) からのリレーションシップ は1つ以上のテーブルの外部キーがこのテーブルに接続されている場合です。 これは親リレーションシップと呼ばれる場合があります。
  • (Table) とのリレーションシップは 、外部キーを持ち、他のテーブルに接続されているテーブルの場合です。 これは子リレーションシップと呼ばれる場合があります。
  • どちらのリレーションシップの種類にも、次のプロパティがあります。
    • テーブルから リレーションシップの親テーブル、または「one」側。
    • 列から リレーションシップの基になっている親テーブルの列。
    • テーブルへリレーションシップの子テーブル、または「多」側。
    • 列へリレーションシップの基になっている子テーブルの列。 [リレーションシップ] タブ の上部には、リレーションシップの操作に使用できるコマンド バーがあります。
  • [キーワードでフィルター] を選択すると、列の一覧が、指定したキーワードに一致する項目にフィルター処理されます。
  • + リレーションシップ を使用すると、新しいリレーションシップを追加できます。 2 つの選択肢があります。
    • テーブルから、作業しているテーブルから別のテーブルへの新しいリレーションシップが作成されます。
    • テーブルには、別のテーブルから作業しているテーブルへの新しいリレーションシップが作成されます。
    • [テンプレートから ] を選択すると、探索ウィンドウが開き、データベース に含めるデータベース テンプレート内のリレーションシップから選択できます。 データベース テンプレートを使用してデータベースが作成されていない場合、このオプションは表示されません。

次のステップ

次のリンクを使用して、データベース デザイナーの機能の詳細を引き続き確認します。