Create table in Databricks SQL | Databricks on AWS [2022/6/29時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Databricks SQL上でクイックにCSVファイルをアップロードし、Deltaテーブルを作成することができます。
注意
Azure Data Lake Storage Gen2、AWS S3、Google Cloud Storageのようなクラウドストレージからファイルをロードする方法に関しては、COPY INTOのチュートリアルを参照ください。
ターゲットテーブルのタイプ
Unity CatalogあるいはHiveメタストアにマネージドDeltaテーブルを作成することができます。
プレビュー
Unity Catalogはパブリックプレビューです。プレビューに参加するにはDatabricks担当者にご連絡ください。
要件
- Unity CatalogでDatabricks SQLのテーブル作成を利用するには、メタストア、カタログ、スキーマ(データベース)が必要です。
- Unity Catalogにおいては選択したスキーマが属するカタログに対する
USAGE
権限が必要です。 - ワークスペースでUnity Catalogが有効化されている場合でも、Hiveメタストア内にスキーマを作成することができます。
- Unity Catalogにおいては選択したスキーマが属するカタログに対する
- テーブルを作成するスキーマの
USAGE
、CREATE
権限が必要です。 - 稼働中のSQLウェアハウスが必要です。
CSVアップロードによるテーブルの作成
ローカルマシンから小規模なCSVファイルをDatabricks SQLにインポートすることで、Deltaテーブルを作成するためにUIを使用することができます。
- アップロードUIは100MB以下の一つのファイルにアップロードをサポートしています。
- ファイルはCSVで拡張子が
.csv
である必要があります。 -
zip
やtar
のような圧縮ファイルはサポートされていません。
ファイルのアップロード
-
ペルソナスイッチャーを用いてSQLペルソナに移動します。
-
アップロードを開始するには、ブラウザボタンをクイックするか、ドロップゾーンに直接ファイルをドラッグ&ドロップします。
注意
インポートされるファイルは、日次でガーベージコレクションされるあなたのアカウント内のセキュアな内部の格納場所にアップロードされます。
テーブル名の選択
アップロードが完了すると、データの目的地を選択することができます。
- Unity Catalogが有効化されているワークスペースではカタログを選択することができます。ワークスペースでUnity Catalogが有効化されていない場合、カタログは非表示となり、Hiveメタストアからスキーマがロードされます。
- Unity Catalogが有効化されたワークスペースでHiveメタストアを使用するには、カタログセレクターで
hive_metasotre
を選択します。
- Unity Catalogが有効化されたワークスペースでHiveメタストアを使用するには、カタログセレクターで
- スキーマを選択します。
- デフォルトでは、UIはファイル名を適切なテーブル名に変換します。テーブル名を変更することができます。
データのプレビュー
ファイルアップロードが完了した後でデータをプレビュー(最大50行)することができます。
-
アップロード後はUIが右上に選択されたウェアハウスを起動しようとします。任意のタイミングでウェアハウスを切り替えることができますが、プレビューとテーブル作成にはアクティブなウェアハウスが必要となります。ウェアハウスが起動していない場合、自動で起動します。これは少々時間を要します。ウェアハウスが稼働するとプレビューがスタートします。
-
データをプレビューするには2つの方法、垂直あるいは水平があります。プレビューのオプションを切り替えるには、テーブル上部のトグルボタンをクリックします。
フォーマットのオプション
アップロードされたファイルフォーマットに応じて、異なるオプションを使用することができます。ヘッダーバーに一般的なフォーマットオプションが表示されますが、利用頻度の少ないオプションをAdvanced attributesモーダルから使用することもできます。
- CSVに対しては、以下のオプションを使用することができます。
- First row contains the header(デフォルトで有効): このオプションではCSVファイルにヘッダーが含まれているかどうかを指定します。
- Column delimiter: カラムを区切る文字列です。1文字のみが許可され、バックスラッシュはサポートされていません。デフォルトはCSVファイルにおけるカンマです。
-
Automatically detect column types(デフォルトで有効): ファイルの中身から自動でカラムの型を検知します。プレビューテーブルで型を変更することができます。これがfalseに設定された場合、すべてのカラムは
STRING
と推定されます。 - Rows span multiple lines(デフォルトで無効): ファイル内でカラムの値が複数行にまたがっているかどうかを指定します。
フォーマットオプションを変更するとデータプレビューは自動で更新されます。
カラムのヘッダーと型
- 型を変更するには、型を示すアイコンをクリックします。
- カラム名を変更するには、カラム上部の入力ボックスをクリックします。
- カラム名ではカンマ、バックスラッシュ、(絵文字のような)unicode文字をサポートしていません。
CSVファイルにおいては、デフォルトでデータ型が推定されます。Advanced attributes > Automatically detect column typesを無効にすることで、全てのカラムをSTRING
と解釈するようにすることもできます。
注意
- スキーマ推定はベストエフォートでカラム型を検知します。カラムの型を変更することでターゲットのデータ型に適切にキャストできない場合、特定の値が
NULL
になる場合があります。BIGINT
のDATE
やTIMESTAMP
へのキャストはサポートされていません。最初にテーブルを作成し、後でSQL関数を用いてこれらのカラムの変換を行うことをお勧めします。 - 特殊文字を含むテーブル名、カラム名をサポートするために、Databrikcs SQLのテーブル作成UIでは、カラムマッピングを活用しています。
- カラムにコメントを追加するには、テーブルを作成した後にData Explorerに移動してカラムにコメントを追加してください。
サポートされるデータ型
CSVアップロードによるテーブル作成では、以下のデータ型をサポートしています。それぞれのデータ型の詳細については、SQL data typesを参照ください。
データ型 | 説明 |
---|---|
BIGINT |
8バイトの符号付きinteger |
BOOLEAN |
ブール値(true , false ) |
DATE |
タイムゾーンなしの年、月、日のフィールドから構成される値 |
DOUBLE |
8バイトの倍精度浮動小数値 |
STRING |
文字列 |
TIMESTAMP |
セッションローカルのタイムゾーンなしの年、月、日、時、分、秒のフィールドから構成される値 |
テーブルの作成
テーブルを作成するには、ページ下部にあるCreateをクリックします。
Databricks SQLのテーブル作成UIを用いてテーブルを作成した後は、指定されたカタログ、スキーマ配下に作成されたDeltaテーブルのData Explorerページが表示されます。
既知の問題
-
BIGINT
をyyyy
のフォーマットの日付のようなキャストできないDATE
型へキャストしようとするとエラーとなります。