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