ファイルアップロードを使用したテーブルの作成と変更

[ファイルのアップロードを使用してテーブルを作成または変更する] ページでは、CSV、TSV、JSON、Avro、Parquet、またはテキスト ファイルをアップロードして、マネージド Delta Lake テーブルを作成または上書きできます。

Unityカタログ内またはHiveメタストア内に、マネージドDeltaテーブルを作成できます。

注:

さらに、 データの追加UI または COPY INTO を使用して、クラウドストレージからファイルをロードできます。

重要

UI を使用して、ローカル マシンから小さな CSV、TSV、JSON、Avro、Parquet、またはテキスト ファイルをインポートして、Delta テーブルを作成できます。

  • [ファイルアップロードを使用したテーブルの作成または変更] ページでは、一度に最大10個のファイルのアップロードがサポートされています。

  • アップロードするファイルの合計サイズは 2 ギガバイト未満である必要があります。

  • ファイルは、 CSV、 TSV、 JSON、 Avro、 Parquet、またはテキストファイルで、拡張子が「.csv」、「TSV」(または「タブ」)、「JSON」、「.avro」、「.parquet」、または「.txt」である必要があります。

  • ziptar などの圧縮ファイルはサポートされていません。

ファイルをアップロードする

  1. 新しいアイコン[ 新規 >データの追加 ]をクリックします。

  2. [テーブルの作成または変更]をクリックします。

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

注:

インポートされたファイルは、アカウント内の安全な内部ロケーションにアップロードされ、毎日ガベージコレクションが行われます。

テーブルのプレビュー、設定、作成

コンピュートリソースに接続せずにデータをステージング領域にアップロードすることはできますが、テーブルのプレビューや設定を行うにはアクティブなコンピュートリソースを選択する必要があります。

アップロードされたテーブルのオプションを構成する際に、50行のデータをプレビューできます。ファイル名の下にあるグリッドまたはリストボタンをクリックすると、データの表示が切り替わります。

Databricksでは、含まれるスキーマ用に構成された場所にマネージドテーブルのデータファイルが保存されます。スキーマにテーブルを作成するには、適切なアクセス権限が必要となります。

次の手順を実行して、テーブルを作成する先のスキーマを選択します。

  1. (Unity Catalogが有効なワークスペースのみ)カタログまたは従来の hive_metastore を選択できます。

  2. スキーマを選択します。

  3. (任意)テーブル名を編集します。

注:

ドロップダウンから、[既存のテーブルを上書き] または [新規テーブルを作成] を選択できます。名前が競合する新規テーブルの作成を試みると、エラーメッセージが表示されます。

テーブルを作成する前に 、オプション または を構成できます。

テーブルを作成するには、ページの下部にある [作成] をクリックします。

形式オプション

形式オプションは、アップロードするファイル形式によって異なります。一般的な形式オプションはヘッダーバーに表示され、使用頻度の少ないオプションは [詳細な属性] ダイアログでアクセスできます。

  • CSVの場合、次のオプションを使用できます。

    • 最初の行にヘッダーが含まれる(デフォルトで有効):このオプションは、CSV/TSVファイルにヘッダーが含まれるかどうかを指定します。

    • 列の区切り文字:列の間の区切り文字。1文字のみ使用可能で、バックスラッシュはサポートされていません。CSVファイルの場合、区切り文字はデフォルトでカンマとなります。

    • 列のデータ型を自動検出(デフォルトで有効):ファイルの内容から列のタイプを自動的に検出します。プレビューテーブルでデータ型の編集もできます。これを false に設定すると、すべての列のデータ型が STRING と推測されます。

    • 複数列にまたがる行(デフォルトでは無効): 列の値がファイル内の複数行にまたがることができるかどうかを指定します。

    • 複数のファイルにまたがるスキーマをマージ:複数のファイルにわたってスキーマを推測し、各ファイルのスキーマをマージするかどうかを指定します。無効にすると、1つのファイルのスキーマが使用されます。

  • JSONの場合、次のオプションを使用できます。

    • 列のデータ型を自動検出(デフォルトで有効):ファイルの内容から列のタイプを自動的に検出します。プレビューテーブルでデータ型の編集もできます。これを false に設定すると、すべての列のデータ型が STRING と推測されます。

    • 複数列にまたがる行(デフォルトでは有効): 列の値がファイル内の複数行にまたがることができるかどうかを指定します。

    • コメントを許可(デフォルトで有効):ファイル内でコメントを許可するかどうかを指定します。

    • シングルクォートを許可(デフォルトで有効):ファイル内でシングルクォートを許可するかどうかを指定します。

    • タイムスタンプを推測(デフォルトで有効):タイムスタンプ文字列を TimestampType として推測するかどうかを指定します。

  • JSONの場合、次のオプションを使用できます。

    • 列のデータ型を自動検出(デフォルトで有効):ファイルの内容から列のタイプを自動的に検出します。プレビューテーブルでデータ型の編集もできます。これを false に設定すると、すべての列のデータ型が STRING と推測されます。

    • 複数列にまたがる行(デフォルトでは無効): 列の値がファイル内の複数行にまたがることができるかどうかを指定します。

    • コメントを許可する ファイル内でコメントを許可するかどうか。

    • 一重引用符を許可: ファイル内で一重引用符を許可するかどうか。

    • タイムスタンプの推論: タイムスタンプ文字列を TimestampTypeとして推論しようとするかどうか。

形式オプションを編集すると、データプレビューが自動的に更新されます。

注:

複数のファイルをアップロードする場合、以下のルールが適用されます。

  • ヘッダー設定はすべてのファイルに適用されます。データの損失を防ぐために、アップロードされたすべてのファイルにおいて、ヘッダーの有無が一貫していることを確かめてください。

  • アップロードされたファイルは、すべてのデータをターゲットテーブルの行として追加することによって結合されます。ファイルのアップロード中のレコードの結合やマージはサポートされていません。

列の名前とデータ型

列の名前とデータ型を編集できます。

  • データ型を編集するには、各データ型のアイコンをクリックします。

    注:

    STRUCT または ARRAYのネストされた型は編集できません。

  • 列名を編集するには、列の上部にある入力ボックスをクリックします。

    列名では、カンマ、バックスラッシュ、またはUnicode文字(絵文字など)はサポートされていません。

CSVファイルとJSONファイルの場合、列のデータ型はデフォルトで推測されます。[詳細な属性] > [列のデータ型を自動検出]を無効にすることで、すべての列を STRING データ型として解釈できます。

注:

  • スキーマの推測では、列のデータ型をベストエフォートで検出します。列のデータ型を変更すると、値をターゲットのデータ型に正しくキャストできない場合、NULL に一部の値がキャストされる可能性があります。BIGINTDATE または TIMESTAMP の列へキャストすることはサポートされていません。Databricksでは、まず最初にテーブルを作成し、その後でSQL関数を用いてこれらの列を変換する方法を推奨しています。

  • 特殊文字を含むテーブル列名をサポートするために、[ファイルアップロードを使用したテーブルの作成と変更] ページで 列マッピングを活用します。

  • コラムにコメントを追加するには、テーブルを作成し、コメントを追加できる 「カタログエクスプローラ」に移動します。

サポートされているデータ型

[ファイルアップロードを使用したテーブルの作成と変更] ページでは、次のデータ型がサポートされています。各データ型の詳細については、SQLデータ型を参照してください。

データ型

説明

BIGINT

8バイトの符号付き整数

BOOLEAN

ブール値(truefalse

DATE

タイムゾーンを含まない、年、月、日のフィールドの値で構成される値

DOUBLE

8 バイトの長倍精度の浮動小数点数

STRING

文字列の値

TIMESTAMP

年、月、日、時、分、秒のフィールドの値とセッションのローカル・タイムゾーンで構成される値。

STRUCT

一連のフィールドによって記述された構造を持つ値。

ARRAY

型が elementTypeの要素のシーケンスを構成する値。

DECIMAL(P,S)

最大精度の P と固定スケールの Sを持つ数値。

既知の問題

BIGINTDATE のようなキャスト不可能な型(yyyy 形式の日付など)にキャストすると、エラーが発生する場合があります。