0
0

More than 1 year has passed since last update.

Databricks SQLにおけるテーブルの作成

Posted at

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メタストア内にスキーマを作成することができます。
  • テーブルを作成するスキーマのUSAGECREATE権限が必要です。
  • 稼働中のSQLウェアハウスが必要です。

CSVアップロードによるテーブルの作成

ローカルマシンから小規模なCSVファイルをDatabricks SQLにインポートすることで、Deltaテーブルを作成するためにUIを使用することができます。

  • アップロードUIは100MB以下の一つのファイルにアップロードをサポートしています。
  • ファイルはCSVで拡張子が.csvである必要があります。
  • ziptarのような圧縮ファイルはサポートされていません。

ファイルのアップロード

  1. ペルソナスイッチャーを用いてSQLペルソナに移動します。

    • ペルソナを変更するには、Databricksロゴの下のアイコンをクリックしてペルソナを選択します。
  2. サイドバーのCreateをクリックし、メニューからTableを選択します。

  3. Databricks SQLのテーブル作成ページが表示されます。

  4. アップロードを開始するには、ブラウザボタンをクイックするか、ドロップゾーンに直接ファイルをドラッグ&ドロップします。

    注意
    インポートされるファイルは、日次でガーベージコレクションされるあなたのアカウント内のセキュアな内部の格納場所にアップロードされます。

テーブル名の選択

アップロードが完了すると、データの目的地を選択することができます。

  1. Unity Catalogが有効化されているワークスペースではカタログを選択することができます。ワークスペースでUnity Catalogが有効化されていない場合、カタログは非表示となり、Hiveメタストアからスキーマがロードされます。
    • Unity Catalogが有効化されたワークスペースでHiveメタストアを使用するには、カタログセレクターでhive_metasotreを選択します。
  2. スキーマを選択します。
  3. デフォルトでは、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になる場合があります。BIGINTDATETIMESTAMPへのキャストはサポートされていません。最初にテーブルを作成し、後で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ページが表示されます。

既知の問題

  • BIGINTyyyyのフォーマットの日付のようなキャストできないDATE型へキャストしようとするとエラーとなります。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0