こんばんは。今回は、前回のUnity Catalogメタストア作成に引き続き、Azure DatabricksでUnity Catalogを利用したテーブル・ボリューム作成を試してみましたので、備忘メモを残しておきます。
それではまいります。
Contents
Unity Catalogメタストアの作成
Unity Catalogを活用するためには、まずメタストアの作成が必要です。
Unity Catalog とは – Azure Databricks | Microsoft Learn
具体的な手順はこちらにまとめました。
Azure DatabricksのUnity Catalogメタストアを作成してみた | 煎茶 (simpletraveler.jp)
カタログの作成
メタストアを作成したら、上の階層に従って、まずはカタログを作成します。
カタログを作成および管理する – Azure Databricks | Microsoft Learn
新しいカタログはGUI上から作成することができます(Notebookからも可能)
ここでタイプというのが気になった。Standard以外に「外部」というオプションがある。これは、外部のデータソースをマウントしてDatabricksからアクセスできるようにする機能っぽい。データ仮想化の機能かな・・・?これは是非別記事で試してみたい。
Lakehouse フェデレーションを使用してクエリを実行する – Azure Databricks | Microsoft Learn
いったんはStandardで作成。
スキーマの作成
カタログを作成したら、続いてその下にスキーマを作成します。
こちらもGUIもしくはSQLで実行可能です。今回はGUIから実行。
テーブルの作成 & データの取り込み
メタストア>カタログ>スキーマの作成が完了したら、いよいよデータを取り込んでいきます。
まずは、「テーブル」の作成を試してみます。
ローカルデータのアドホックな(1 Shot)取り込みは、「データ取り込み」メニューからGUIベースで実行できます。
今回は、先ほど作成したカタログ、スキーマにtitanic乗船客リストのCSVをアップロードして、”titanic”というテーブルを作成しました。
GUIのテーブル名の右にあるマークの通り、取り込まれたデータはDelta Lake形式になっています。
なお、データの実体は、Unity Catalog用に構成したADLS Gen2コンテナ内>tablesディレクトリ内から確認できます。
以下の通り、Delta Lake形式で保存されていますね。
テーブルに対する各種操作(アクセス制御等)は、また別記事で纏めたいと思います。
ボリュームの作成
ボリュームの作成 – Azure Databricks | Microsoft Learn
続けてボリュームの作成についても試してみます。ボリュームについては公式ドキュメントに以下の説明があります。
ボリュームは、クラウド オブジェクトの保存場所にあるストレージの論理ボリュームを表す Unity Catalog オブジェクトです。 ボリュームにより、ファイルのアクセス、格納、管理、整理を行うための機能が提供されます。 テーブルにより、表形式データセットに対するガバナンスが提供される一方、ボリュームにより、表形式以外のデータセットに対するガバナンスが追加されます。 ボリュームを使うと、構造化データ、半構造化データ、非構造化データなど、任意の形式でファイルの格納とアクセスを実行できます。
こちらもGUIから操作できます。
ボリューム作成時に「管理ボリューム」を指定すると、Unity Catalog用に構成したストレージコンテナにディレクトリが作成されます。
ボリュームを作成したら、ボリュームにデータをアップロードしていきます。
こちらも、以下のようにADLS Gen2のVolumesディレクトリ配下にデータが追加されます。
なお、ボリューム内のデータについては、ボリュームのレベルでアクセス制御ができる模様です。
ボリュームの作成 – Azure Databricks | Microsoft Learn
以上、簡単なメモですがAzure DatabricksのUnity Catalogを利用したカタログ作成~テーブル・ボリューム作成の操作イメージのまとめでした。
少しでも参考になりましたら幸いです。
おしまい
コメントを残す