1.はじめに
目的
今回の記事では、Unity Catalog でカタログを作成する方法について説明していきます。 カタログにはスキーマ (データベース)があり、スキーマには表とビューがあります。
Unity Catalogのカタログの定義を紹介します。
カタログは、Unity Catalog の 3 レベルの名前空間の最初のレイヤーです。 データ資産を整理するために使用されます。 ユーザーは、USE CATALOGデータのアクセス許可が割り当てられているすべてのカタログを表示できます。
すべてのユーザーは、main カタログに対する USE CATALOG アクセス許可を持ちます。 main カタログは、Unity Catalog の使用を開始したばかりの組織を対象としています。 ユーザーとデータを追加するときに、アクセスを効率的に制御できるデータ階層を維持するためにカタログを追加する必要があります。
2.必要条件
・Azure Databricks アカウントは Premium プランにある必要があります。
・Azure Databricks メタストア管理者であり、またはメタストアに対する CREATE CATALOG 特権を付与されている必要があります。
・カタログの作成を実行するワークスペースにリンクされている Unity Catalog のメタストアが必要です。
・ノートブックや Databricks SQL を実行してカタログを作成するために使用するコンピューティング リソースで、Unity Catalog に準拠したアクセス モードが使用されている必要があります。
3.CREATE CATALOG権限を付与する
ユーザがカタログを作成できるように、メタストア管理者がそのユーザーに CREATE CATALOG 権限を付与する必要があります。
メタストア管理者のアカウントを使用し、以下の手順で実施します。
① サイドバー → 「カタログ」→ アイコンをクリックします。
②「権限」→「付与」をクリックします。
③「プリンシパル」項目で権限付与対象のユーザー、またはサービスプリンシパルを選択します。
④「権限」項目で「CREATE CATALOG」を選択します。「付与」をクリックします。
CREATE CATALOG権限の付与が完了しました。
4.カタログを作成する
カタログを作成するには、カタログ エクスプローラー、SQL、Python、R、Scalaなどを使用できます。
カタログを作成すると、default と information_schema などの2 つのスキーマ (データベース)が自動的に作成されます。
また、Databricks Terraform プロバイダーと databricks_catalog を使用してカタログを作成することもできます。 カタログに関する情報は、databricks_catalogs を使用して取得できます。
4.1 カタログ エクスプローラーでカタログを作成する
メタストアにリンクされているワークスペースにログインします。
① サイドバー →「カタログ」をクリックします。
②「カタログを作成」をクリックします。
③ 以下の情報を入力します。
- 「カタログ名」: カタログ名。 例: 「MyCatalog」
- 「タイプ」: カタログ種類。例: 「Standard」
- 「ストレージの場所」: ストレージの場所を選択します(オプショナル)。例: 「demo-location」
※ タイプ:
- 「Standard」: テーブル、ビュー、関数、その他のオブジェクトが含まれます。クラウドストレージに保存されているデータです。
- 「外部」: MySQL、Postgres、SQL Serverなどの外部データをマウントしてクエリーを実行します。
※ ストレージの場所 (オプショナル):
- ストレージの場所を指定する場合、マネージドテーブル用データが保存されます。指定しない場合、メタストアのルートロケーションがデフォルトになります。
- ストレージの場所を指定するために、そのロケーションのCREATE MANAGED STORAGE 権限を持つ必要があります。権限付与は Metastore 管理者にご連絡ください。
- このリンクをご参照ください。
④「作成」をクリックします。
⑤ デフォルトとして「default」と「information_schema」という2つテーブルを含むカタログは次のように表示されます。
UIでカタログの作成が完了しました。次は、SQL, Python, R, Scalaでカタログの作成方法について説明していきます。
4.2 SQLでカタログを作成する
ノートブックで次のコマンドを実行します。 角かっこ内の項目は省略可能です。 プレースホルダー値を次のように置き換えます。
※ 文法
1 2 3 |
CREATE CATALOG [ IF NOT EXISTS ] <catalog-name> [ MANAGED LOCATION '<location-path>' ] [ COMMENT <comment> ]; |
- <catalog-name>: カタログ名。
- <location-path>: ストレージの場所URL(オプショナル)。
- <comment>: 省略可能な説明またはその他のコメントです(オプショナル)。
※ 例
1 2 3 |
%sql CREATE CATALOG IF NOT EXISTS Catalog01; |
たとえば、Catalog01という名前のカタログを作成するには、次のようにします。
4.3 Pythonでカタログを作成する
ノートブックで次のコマンドを実行します。 角かっこ内の項目は省略可能です。 プレースホルダー値を次のように置き換えます。
※ 文法
1 |
spark.sql("CREATE CATALOG [ IF NOT EXISTS ] <catalog-name> [ MANAGED LOCATION '<location-path>' ] [ COMMENT <comment> ]") |
- <catalog-name>: カタログ名。
- <location-path>: ストレージの場所URL(オプショナル)。
- <comment>: 省略可能な説明またはその他のコメントです(オプショナル)。
※ 例
1 2 3 |
%python spark.sql("CREATE CATALOG IF NOT EXISTS Catalog02") |
たとえば、Catalog02という名前のカタログを作成するには、次のようにします。
4.4 Rでカタログを作成する
ノートブックで次のコマンドを実行します。 角かっこ内の項目は省略可能です。 プレースホルダー値を次のように置き換えます。
※ 文法
1 2 |
library(SparkR) sql("CREATE CATALOG [ IF NOT EXISTS ] <catalog-name> [ MANAGED LOCATION '<location-path>' ] [ COMMENT <comment> ]") |
- <catalog-name>: カタログ名。
- <location-path>: ストレージの場所URL(オプショナル)。
- <comment>: 省略可能な説明またはその他のコメントです(オプショナル)。
※ 例
1 2 3 4 |
%r library(SparkR) sql("CREATE CATALOG IF NOT EXISTS Catalog03") |
たとえば、Catalog03という名前のカタログを作成するには、次のようにします。
4.5 Scalaでカタログを作成する
ノートブックで次のコマンドを実行します。 角かっこ内の項目は省略可能です。 プレースホルダー値を次のように置き換えます。
※ 文法
1 |
sql("CREATE CATALOG [ IF NOT EXISTS ] <catalog-name> [ MANAGED LOCATION '<location-path>' ] [ COMMENT <comment> ]") |
- <catalog-name>: カタログ名。
- <location-path>: ストレージの場所URL(オプショナル)。
- <comment>: 省略可能な説明またはその他のコメントです(オプショナル)。
※ 例
1 2 3 |
%scala sql("CREATE CATALOG IF NOT EXISTS Catalog04") |
たとえば、Catalog04という名前のカタログを作成するには、次のようにします。
5.まとめ
カタログの作成方法について説明しました。今回の記事が少しでもDatabricksを知るきっかけや、業務のご参考になれば幸いです。
今回の記事が少しでも皆さんの新しい知識や業務のご参考になれば幸いです。
日商エレクトロニクスでは、Azure Databricksの環境構築パッケージを用意しています。
Azure DatabricksやAzure活用、マイクロソフト製品の活用についてご相談事がありましたら
是非お問い合わせください!
Azure Databricks連載記事のまとめはこちら
この記事を読んだ方へのオススメコンテンツはこちら
この記事を書いた人
- tungth
この投稿者の最新の記事
- 2024年3月12日ブログ【Microsoft Fabric】概要と試用版の作成方法をご紹介
- 2023年12月4日ブログ【Azure Databricks】スキーマの作成方法
- 2023年12月4日ブログ【Azure Databricks】カタログの作成方法
- 2023年10月11日ブログAzure DatabricksでVIEWの作成手順