ファイルアップロードを使用してテーブルを作成または変更する
ファイルアップロードを使用してテーブルを作成または変更する ページでは、CSV、TSV、JSON、Avro、Parquet、またはテキストファイルをアップロードして、管理対象のDelta Lakeテーブルを作成または上書きできます。
Unityカタログ内またはHiveメタストア内に、マネージドDeltaテーブルを作成できます。
- 実行中のコンピュートリソースへのアクセス権と、ターゲット・スキーマにテーブルを作成するための権限が必要となります。
- ワークスペース管理者は、ファイルアップロードを使用してテーブルを作成または変更するページを無効にすることができます。
UIを使用すると、ローカルマシンから小さなCSV、TSV、JSON、Avro、Parquet、またはテキストファイルをインポートして、Deltaテーブルを作成できます。
- [ファイルアップロードを使用したテーブルの作成または変更] ページでは、一度に最大10個のファイルのアップロードがサポートされています。
- アップロードするファイルの合計サイズは2ギガバイト未満でなければなりません。
- ファイルはCSV、TSV、JSON、Avro、Parquet、またはテキストファイルであり、拡張子は「.csv」である必要があります。"TSV"(または「タブ」)、 "JSON",".avro"".parquet"または「.txt」。
zipやtarなどの圧縮ファイルはサポートされていません。
ファイルをアップロードしてください
- クリック
新規 > データを追加またはアップロードします 。
- [テーブルの作成または変更] をクリックします。
- 「参照」 をクリックするか、ファイルをドロップゾーンに直接ドラッグ&ドロップしてください。
インポートされたファイルは、アカウント内の安全な内部ロケーションにアップロードされ、毎日ガベージコレクションが行われます。
テーブルをプレビュー、設定、作成する
コンピュート リソースに接続せずにデータをステージング領域にアップロードできますが、テーブルをプレビューおよび構成するにはアクティブなコンピュート リソースを選択する必要があります。 ファイルアップロードUIはSQLウェアハウス、サーバレスコンピュート、専用コンピュートをサポートしています。 グループクラスターはサポートされていません。
アップロードされたテーブルのオプションを構成する際に、50行のデータをプレビューできます。ファイル名の下にあるグリッドまたはリストボタンをクリックすると、データの表示が切り替わります。
Databricksでは、含まれるスキーマ用に構成された場所にマネージドテーブルのデータファイルが保存されます。スキーマにテーブルを作成するには、適切なアクセス権限が必要となります。
次の手順を実行して、テーブルを作成する先のスキーマを選択します。
- (Unity Catalogが有効なワークスペースのみ)カタログまたは従来の
hive_metastoreを選択できます。 - スキーマを選択します。
- (任意)テーブル名を編集します。
ドロップダウンから、 [既存のテーブルを上書き] または [新規テーブルを作成] を選択できます。名前が競合する新規テーブルの作成を試みると、エラーメッセージが表示されます。
テーブルを作成するには、ページの下部にある [作成] をクリックします。
フォーマットオプション
形式オプションは、アップロードするファイル形式によって異なります。一般的な形式オプションはヘッダーバーに表示され、使用頻度の少ないオプションは [詳細な属性] ダイアログでアクセスできます。
-
CSVの場合、次のオプションを使用できます。
- 最初の行にヘッダーが含まれる (デフォルトで有効):このオプションは、CSV/TSVファイルにヘッダーが含まれるかどうかを指定します。
- 列の区切り文字 :列の間の区切り文字。1文字のみ使用可能で、バックスラッシュはサポートされていません。CSVファイルの場合、区切り文字はデフォルトでカンマとなります。
- 列のデータ型を自動検出 (デフォルトで有効):ファイルの内容から列のタイプを自動的に検出します。プレビューテーブルでデータ型の編集もできます。これを false に設定すると、すべての列のデータ型が
STRINGと推測されます。 - 行が複数行にまたがる (デフォルトでは無効):列の値がファイル内で複数行にまたがるかどうか。
- 複数のファイルにまたがるスキーマをマージ :複数のファイルにわたってスキーマを推測し、各ファイルのスキーマをマージするかどうかを指定します。無効にすると、1つのファイルのスキーマが使用されます。
-
JSONの場合、次のオプションを使用できます。
- 列のデータ型を自動検出 (デフォルトで有効):ファイルの内容から列のタイプを自動的に検出します。プレビューテーブルでデータ型の編集もできます。これを false に設定すると、すべての列のデータ型が
STRINGと推測されます。 - 行が複数行にまたがる (デフォルトで有効):列の値がファイル内で複数行にまたがるかどうか。
- コメントを許可 (デフォルトで有効):ファイル内でコメントを許可するかどうかを指定します。
- シングルクォートを許可 (デフォルトで有効):ファイル内でシングルクォートを許可するかどうかを指定します。
- タイムスタンプを推測 (デフォルトで有効):タイムスタンプ文字列を
TimestampTypeとして推測するかどうかを指定します。
- 列のデータ型を自動検出 (デフォルトで有効):ファイルの内容から列のタイプを自動的に検出します。プレビューテーブルでデータ型の編集もできます。これを false に設定すると、すべての列のデータ型が
形式オプションを編集すると、データプレビューが自動的に更新されます。
複数のファイルをアップロードする場合、以下のルールが適用されます。
- ヘッダー設定はすべてのファイルに適用されます。データの損失を防ぐために、アップロードされたすべてのファイルにおいて、ヘッダーの有無が一貫していることを確かめてください。
- アップロードされたファイルは、すべてのデータをターゲットテーブルの行として追加することによって結合されます。ファイルのアップロード中のレコードの結合やマージはサポートされていません。
列名と型
列の名前とデータ型を編集できます。
- データ型を編集するには、各データ型のアイコンをクリックします。
STRUCTまたはARRAYのネストされた型は編集できません。
-
列名を編集するには、列の上部にある入力ボックスをクリックします。
列名では、カンマ、バックスラッシュ、またはUnicode文字(絵文字など)はサポートされていません。
CSVファイルとJSONファイルの場合、列のデータ型はデフォルトで推測されます。 [詳細な属性] > [列のデータ型を自動検出] を無効にすることで、すべての列を STRING データ型として解釈できます。
- スキーマの推測では、列のデータ型をベストエフォートで検出します。列のデータ型を変更すると、値をターゲットのデータ型に正しくキャストできない場合、
NULLに一部の値がキャストされる可能性があります。BIGINTをDATEまたはTIMESTAMPの列へキャストすることはサポートされていません。Databricksでは、まず最初にテーブルを作成し、その後でSQL関数を用いてこれらの列を変換する方法を推奨しています。 - 特殊文字を含むテーブル列名をサポートするために、 ファイルアップロードを使用してテーブルを作成または変更するページでは、 列マッピングが利用されます。
- 列にコメントを追加するには、テーブルを作成し、カタログエクスプローラーに移動してコメントを追加します。
サポートされているデータ型
ファイルアップロードを使用してテーブルを作成または変更する ページでは、以下のデータ型がサポートされています。個々のデータ型に関する詳細については、 SQLデータ型」を参照してください。
データ型 | 説明 |
|---|---|
| 8バイトの符号付き整数 |
| ブール値( |
| タイムゾーンを含まない、年、月、日のフィールドの値で構成される値 |
| 8 バイトの長倍精度の浮動小数点数 |
| 文字列の値 |
| 年、月、日、時、分、秒のフィールドの値とセッションのローカル・タイムゾーンで構成される値。 |
| 一連のフィールドによって記述される構造を持つ値。 |
| 型の要素のシーケンスで構成される値 |
| 最大精度 |
既知の問題
BIGINT DATEのような型変換不可能な型(例えば「yyyy」形式の日付など)にキャストすると、エラーが発生する可能性があります。