目次
1. はじめに
皆さんこんにちは。
今回は【Azure Databricks】SQL Editorで外部テーブルの作成をします。
Azure DatabricksのSQL Editorで外部テーブルを作成するメリットは、外部のデータに直接アクセスできることです。
外部テーブルは、Azure DatabricksクラスターまたはDatabricks SQLウェアハウスの外部のデータに直接アクセスする必要がある場合に使用されます。
また、外部テーブルでDROP TABLEを実行しても、Unity Catalogでは基になるデータは削除されません。
この手順の前提条件
この手順の前提条件は
・Azure Databricksアクセスコネクタの作成
・Azure Databricksから外部ストレージへの資格情報設定
・Azure Databricksから外部ストレージへの接続設定
以上が作成済みであることを前提としています。
いずれもAzure Databricksの環境構築パッケージに含まれている内容となります。
2.ワークスペースのアクセス方法
ワークスペースへのアクセス方法はこちらをご参照ください
3.外部テーブルの作成【外部ファイルがcsvの場合】
SQLエディタを起動したら以下のコマンドを実行します。
文法:
1 2 3 4 |
CREATE TABLE IF NOT EXISTS [カタログ名].[スキーマ名].[テーブル名] USING CSV OPTIONS (HEA,DER true, INFERSCHEMA true) LOCATION '[CSV_PATH]'; |
- [カタログ名]: カタログ名を入力します。
- [スキーマ名]: スキーマ名を入力します。
- [テーブル名]: テーブル名を入力します。
- [CSV_PATH]: 外部ロケーションに保存したsample.csvファイルのパスを入力します。
例:
1 2 3 4 |
CREATE TABLE IF NOT EXISTS catalog.schema.mytable USING CSV OPTIONS (HEADER true, INFER_SCHEMA true) LOCATION 'abfss://external-location@metastorestv01.dfs.core.windows.net/sample.csv'; |
①対象コマンドを実行する
②テーブルが作成されたのが確認できました。
3-1.外部テーブルからデータを抽出する
SELECT文を使用してデータの確認をしました。
文法:
1 |
SELECT * FROM [カタログ名].[スキーマ名].[テーブル名]; |
- [カタログ名]: カタログ名を入力します。
- [スキーマ名]: スキーマ名を入力します。
- [テーブル名]: テーブル名を入力します。
例:
1 |
SELECT * FROM catalog.schema.mytable; |
4.外部テーブルの作成【外部ファイルがparquetの場合】
文法:
1 2 3 4 |
CREATE TABLE IF NOT EXISTS [カタログ名].[スキーマ名].[テーブル名] USING PARQUET OPTIONS (HEADER true, INFERSCHEMA true) LOCATION [PARQUET_PATH]; |
- [カタログ名]: カタログ名を入力します。
- [スキーマ名]: スキーマ名を入力します。
- [テーブル名]: テーブル名を入力します。
- [PARQUET_PATH]: 外部ロケーションに保存したsample.parquetファイルのパスを入力します。
例:
1 2 3 4 |
CREATE TABLE IF NOT EXISTS catalog.schema.mytable1 USING PARQUET OPTIONS (HEADER true, INFERSCHEMA true) LOCATION 'abfss://external-location@metastorestv01.dfs.core.windows.net/sample.parquet'; |
①対象コマンドを実行する
②テーブルが作成されたのが確認できました。
4-1.外部テーブルからデータを抽出する
SELECT文を使用してデータの確認をしました。
文法:
1 |
SELECT * FROM [カタログ名].[スキーマ名].[テーブル名]; |
- [カタログ名]: カタログ名を入力します。
- [スキーマ名]: スキーマ名を入力します。
- [テーブル名]: テーブル名を入力します。
例:
1 |
SELECT * FROM catalog.schema.mytable1; |
まとめ
本連載では、
【Azure Databricks】SQLで外部テーブルの作成
についてご説明しています。
今回の記事が少しでもDatabricksを知るきっかけや、業務のご参考になれば幸いです。
双日テックイノベーションでは、Azure Databricksの環境構築パッケージを用意しています。
Azure DatabricksやAzure活用、マイクロソフト製品の活用についてご相談事がありましたらぜひお問い合わせください!
・Azure Databricks連載シリーズはこちら
この記事を読んだ方へのオススメコンテンツはこちら
この記事を書いた人
- 野口 繭子