ファイルのアップロードを使用してテーブルを作成または変更する

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

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

Note

さらに、[追加データ UI の使用][COPY INTO] を使用して、クラウド ストレージからファイルを読み込むことができます。

重要

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

  • [ファイルのアップロードを使用してテーブルを作成または変更する] ページでは、一度に最大 10 個のファイルをアップロードできます。
  • アップロードされたファイルの合計サイズは、2 ギガバイト以下である必要があります。
  • ファイルは CSV、TSV、JSON、Avro、Parquet、またはテキスト ファイルで、拡張子が ".csv"、".tsv" (または ".tab")、".json"、".avro"、".parquet"、".txt" である必要があります。
  • zip および tar ファイルなどの圧縮ファイルはサポートされていません。

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

  1. 新規アイコン [新規]> [データの追加] をクリックします。
  2. [テーブルの作成または変更] をクリックします。
  3. ファイル ブラウザー ボタンをクリックするか、ドロップ ゾーンに直接ファイルをドラッグ アンド ドロップします。

注意

インポートされたファイルは、ご利用のアカウント内で、毎日ガベージ コレクションされるセキュリティで保護された内部場所にアップロードされます。

テーブルをプレビュー、構成、および作成する

コンピューティング リソースに接続せずにステージング領域にデータをアップロードできますが、テーブルをプレビューして構成するには、アクティブなコンピューティング リソースを選択する必要があります。

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

Azure Databricks は、マネージド テーブルのデータ ファイルを、含むスキーマ用に構成された場所に格納します。 スキーマにテーブルを作成するには、適切なアクセス許可が必要です。

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

  1. (Unity カタログが有効なワークスペースの場合のみ) カタログまたはレガシ hive_metastoreを選択できます。
  2. スキーマを選択します。
  3. (省略可能) テーブル名を編集します。

注意

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

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

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

形式のオプション

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

  • CSV の場合は、次のオプションを使用できます。
    • 最初の行にヘッダーが含まれる (既定で有効): このオプションでは、CSV/TSV ファイルにヘッダーが含まれているかどうかを指定します。
    • 列区切り記号: 列間の区切り文字。 1 文字のみ使用でき、円記号はサポートされていません。 CSV ファイルの既定値はコンマです。
    • 列の型を自動的に検出する (既定では有効): ファイル コンテンツから列の型を自動的に検出します。 プレビュー テーブルで型を編集できます。 これが false に設定されている場合、すべての列の型は STRING として推論されます。
    • 行が複数行にまたがる (既定では無効): 列の値がファイル内の複数行にまたがるかどうかです。
    • 複数のファイル全体でスキーマをマージする: 複数のファイル全体でスキーマを推論するか、各ファイルのスキーマをマージするかどうか。 無効にした場合、1 つのファイルのスキーマが使用されます。
  • JSON の場合は、次のオプションを使用できます。
    • 列の型を自動的に検出する (既定では有効): ファイル コンテンツから列の型を自動的に検出します。 プレビュー テーブルで型を編集できます。 これが false に設定されている場合、すべての列の型は STRING として推論されます。
    • Rows span multiple lines (行が複数行にまたがる) (既定で有効): 列の値がファイル内の複数行にまたがるかどうかを指定します。
    • Allow comments (コメントを許可する) (既定で有効): ファイルでコメントを許可するかどうかを指定します。
    • Allow single quotes (単一引用符を許可する) (既定で有効): ファイルで単一引用符を許可するかどうかを指定します。
    • Infer timestamp (タイムスタンプを推論する) (既定で有効): タイムスタンプ文字列を として TimestampType推論するかどうかを指定します。
  • JSON の場合は、次のオプションを使用できます。
    • 列の型を自動的に検出する (既定では有効): ファイル コンテンツから列の型を自動的に検出します。 プレビュー テーブルで型を編集できます。 これが false に設定されている場合、すべての列の型は STRING として推論されます。
    • 行が複数行にまたがる (既定では無効): 列の値がファイル内の複数行にまたがるかどうかです。
    • Allow comments (コメントを許可する) ファイル内でコメントを許可するかどうかを指定します。
    • Allow single quotes (単一引用符を許可する): ファイルで単一引用符を許可するかどうかを指定します。
    • Infer timestamp (タイムスタンプを推論する): タイムスタンプ文字列を TimestampType として推論するかどうかを指定します。

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

注意

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

  • ヘッダー設定は、すべてのファイルに適用されます。 データの損失を防ぐために、アップロードされたすべてのファイルにヘッダーが常に存在しないか、存在していることを確認します。
  • アップロードされたファイルは、すべてのデータをターゲット テーブルの行として追加することで結合されます。 ファイルのアップロード中のレコードの結合またはマージはサポートされていません。

列名と型

列名と型を編集できます。

  • 型を編集するには、型を含むアイコンをクリックします。

    Note

    STRUCT または ARRAY の入れ子になった型は編集できません。

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

    列名では、コンマ、円記号、または Unicode 文字 (絵文字など) はサポートされていません。

CSV および JSONファイルの場合、列データ型が既定で推論されます。 [属性の詳細]>[列の型を自動的に検出します] を無効にすることで、すべての列を STRING 型として解釈できます。

注意

  • スキーマ推論では、列型のベスト エフォート検出が行われます。 列の型を変更すると、値をターゲット データ型に正しくキャストできない場合、一部の値が NULL にキャストされる可能性があります。 BIGINT から DATE または TIMESTAMP 列へのキャストはサポートされていません。 Databricks では、最初にテーブルを作成してから、後で SQL 関数を使用してこれらの列を変換することをお勧めします。
  • 特殊文字を含むテーブル列名をサポートするために、[ファイルのアップロードを使用してテーブルを作成または変更する] ページでは 列マッピングを活用します。
  • 列にコメントを追加するには、テーブルを作成し、カタログ エクスプローラーに移動します。ここからコメントを追加することができます。

サポートされるデータ型

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

データ型 説明
BIGINT 8 バイトの符号付き整数。
BOOLEAN ブール (true, false) 値。
DATE タイムゾーンのない、フィールドの値 (年、月、日) を構成する値。
DOUBLE 8 バイト倍精度浮動小数点数。
STRING 文字列の値。
TIMESTAMP セッションのローカル タイムゾーンを指定して、フィールドの値 (年、月、日、時、分、秒) を構成する値。
STRUCT フィールドのシーケンスで記述された構造体を持つ値です。
ARRAY 次の型の要素のシーケンスを構成する値です
elementType
DECIMAL(P,S) 最大有効桁数 P と固定スケール S を持つ数値。

既知の問題

DATE などのキャスト不可能な型 ('yyyy' の形式の日付など) に BIGINT をキャストすると、エラーが発生する可能性があります。