次の方法で共有


COPY INTO

適用対象:「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

ファイルの場所から Delta テーブルにデータを読み込みます。 これは再試行可能なべき等操作であり、ソースの場所にある既に読み込み済みのファイルはスキップされます。 これは、読み込まれた後でファイルが変更されている場合でも当てはまります。 例については、「COPY INTOを使用した一般的なデータ読み込みパターン」を参照してください。

構文

COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
  FROM { source_clause |
         ( SELECT expression_list FROM source_clause ) }
  FILEFORMAT = data_source
  [ VALIDATE [ ALL | num_rows ROWS ] ]
  [ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
  [ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
  [ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]

source_clause
  source [ WITH ( [ CREDENTIAL { credential_name |
                                 (temporary_credential_options) } ]
                  [ ENCRYPTION (encryption_options) ] ) ]

パラメーター

  • target_table

    既存の Delta テーブルを識別します。 target_tableには、時間指定やオプション指定を含めてはなりません

    テーブル名が delta.`/path/to/table` のような場所の形式で指定されている場合、Unity カタログで、書き込み先の場所へのアクセスを管理できます。 外部の場所に書き込むには、次の方法があります。

    • 場所を外部の場所として定義し、その外部の場所に対する WRITE FILES アクセス許可を取得する。

    • WRITE FILES を使って、指定したストレージ資格情報に対し、場所への書き込み認可を与える COPY INTO delta.`/some/___location` WITH (CREDENTIAL <named-credential>) アクセス許可を付与する

    詳細については、「 Unity カタログを使用してクラウド オブジェクト ストレージに接続 する」を参照してください。

  • BY POSITION |( col_name [ , <col_name> ... ] )

    ソース列とターゲット テーブル列を序数位置で照合します。 一致する列の型キャストは自動的に行われます。

    このパラメーターは、ヘッダーなしの CSV ファイル形式でのみサポートされます。 FILEFORMAT = CSV を指定する必要があります。 FORMAT_OPTIONS("headers" = "false") に設定する必要があります (既定値は FORMAT_OPTIONS ("headers" = "false"))。

    構文オプション 1: BY POSITION

    • ソース列とターゲット テーブル列を自動的に序数位置で照合します。
      • 既定の名前の照合は、照合には使用されません。
      • ターゲット テーブルの IDENTITY 列と GENERATED 列は、ソース列と照合されるときに無視されます。
      • ソース列の数がフィルター処理されたターゲット テーブル列と等しくない場合、 COPY INTO はエラーを発生させます。

    構文オプション 2: ( col_name [ , <col_name> ... ] )

    • ソース列を、かっこで囲まれコンマで区切られたターゲットテーブルの列名リストを用いて、相対的な序数位置に基づき指定されたターゲットテーブルの列と対応させます。
      • 元のテーブルの列の順序と列名は、照合には使用されません。
      • IDENTITY 列と GENERATED 列は列名リストに指定できません。それ以外の場合、COPY INTO はエラーを発生させます。
      • 指定した列は複製できません。
      • ソース列の数が指定したテーブル列と等しくない場合、 COPY INTO エラーが発生します。
      • 列名リストに指定されていない列の場合、COPY INTO は既定値 (存在する場合) を割り当てます。それ以外の場合、NULL を割り当てます。 列が null 許容でない場合、COPY INTO はエラーを発生させます。
  • source

    データの読み込み元となるファイルの場所。 この場所にあるファイルの形式は FILEFORMAT で指定する必要があります。 場所は URI の形式で提供されています。

    ソースの場所へのアクセスは、次の方法で提供されます。

    • credential_name

      保存場所へのアクセスまたは書き込みに使用される資格情報の名前 (省略可能)。 この資格情報は、ファイルの場所が外部の場所に含まれていない場合にのみ使用します。 「credential_name」を参照してください。

    • インライン一時資格情報。

    • ソースの場所を外部の場所として定義し、Unity カタログを通じて外部の場所に対する READ FILES アクセス許可を取得する。

    • Unity カタログを通じて場所から読み取る認可を与える READ FILES アクセス許可を持つ名前付きストレージ資格情報を使用する。

    パスが、使用するアクセス許可を持つ外部の場所として既に定義されている場合は、インラインまたは名前付き資格情報を指定する必要はありません。 詳細については、「クラウド ストレージを Azure Databricks に接続するための外部の場所を作成する」を参照してください。

    ソース ファイルのパスがルート パスである場合は、ファイル パスの末尾にスラッシュ (/) を追加してください。例: s3://my-bucket/

    指定できる資格情報のオプションは次のとおりです。

    • AZURE_SAS_TOKEN ADLS と Azure Blob Storage の場合
    • AWS_ACCESS_KEYAWS_SECRET_KEY、および AWS_SESSION_TOKEN: AWS S3 の場合

    指定できる暗号化オプションは次のとおりです。

    • TYPE = 'AWS_SSE_C' および MASTER_KEY: AWS S3 の場合

一時的な資格情報で COPY INTO を使用してデータを読み込む」を参照してください。

  • SELECT expression_list

    Delta テーブルにコピーする前に、指定された列または式をソース データから選択します。 式には、ウィンドウ操作など、SELECT ステートメントで使用する任意の式を指定できます。 集計式はグローバル集計に対してのみ使用できます。この構文で列に対して GROUP BY を使用することはできません。

  • FILEFORMAT = data_source

    読み込むソース ファイルの形式。 CSVJSONAVROORCPARQUETTEXTBINARYFILE のいずれかです。

  • VALIDATE

    適用対象:check marked yes Databricks SQL 「はい」のチェック マーク Databricks Runtime 10.4 LTS 以降

    テーブルに読み込まれるデータは検証されますが、テーブルには書き込まれません。 次のような検証が行われます。

    • データを解析できるかどうか。
    • スキーマがテーブルのものと一致するかどうか、またはスキーマを展開する必要があるかどうか。
    • NULL 値の許容と CHECK 制約がすべて満たされているかどうか。

    既定では、読み込まれるすべてのデータが検証されます。 ROWS のように、VALIDATE 15 ROWS キーワードを使用して、検証する行数を指定できます。 COPY INTO キーワードで 50 未満の数値を使用すると、ROWS ステートメントから、50 行以下のデータのプレビューが返されます。

  • FILES

    読み込むファイル名の一覧。1000 ファイルの制限あり。 PATTERN で指定できません。

  • PATTERN

    ソース ディレクトリから読み込むファイルを識別する glob パターン。 FILES で指定できません。

    パターン 説明
    ? 任意の 1 文字と一致します
    * 0文字以上の任意の文字列と一致します
    [abc] 文字セット {a, b, c} の 1 文字と一致します。
    [a-z] 文字範囲 {a…z} の 1 文字と一致します。
    [^a] 文字セットまたは範囲 {a} からのものではない 1 文字と一致します。 ^ 文字は左角かっこのすぐ右側に表示されることに注意してください。
    {ab,cd} 文字列セット {ab, cd} の文字列と一致します。
    {ab,c{de, fh}} 文字列セット {ab, cde, cfh} の文字列と一致します。
  • FORMAT_OPTIONS

    指定した形式について Apache Spark データ ソース リーダーに渡されるオプション。 各ファイル形式については、「形式のオプション」を参照してください。

  • COPY_OPTIONS

    COPY INTO コマンドの操作を制御するオプション。

    • force: ブール値、既定値は falsetrueに設定すると、べき等性が無効になり、ファイルは以前に読み込まれたかどうかに関係なく読み込まれます。
    • mergeSchema: ブール値、既定値は falsetrue に設定すると、受信データに応じてスキーマを展開できます。

COPY INTO を同時に呼び出す

COPY INTO は、同じテーブルに対する同時呼び出しをサポートします。 が異なる入力ファイルのセットに対して同時に呼び出される限り、各呼び出しは最終的に成功する必要があります。さもなければ、トランザクションの競合が発生します。 COPY INTO パフォーマンスを向上させるために同時に呼び出すことはできません。通常、複数のファイルを含む 1 つの COPY INTO コマンドは、それぞれ 1 つのファイルで同時実行 COPY INTO コマンドを実行するよりも優れたパフォーマンスを発揮します。 COPY INTO は、次の場合に同時に呼び出すことができます。

  • 複数のデータ プロデューサーは、簡単に調整する方法がなく、1 回の呼び出しを行うことはできません。
  • 非常に大きなディレクトリをサブディレクトリによって取り込むことができる場合。 非常に多くのファイルを含むディレクトリを取り込む場合、Databricks では可能な限り 自動ローダー を使用することをお勧めします。

ファイル メタデータへのアクセス

ファイル ベースのデータ ソースのメタデータにアクセスする方法については、「ファイル メタデータ列」を参照してください。

フォーマットオプション

共通オプション

次のオプションは、すべてのファイル形式に適用されます。

選択肢
ignoreCorruptFiles
型: Boolean
破損したファイルを無視するかどうか。 true の場合、破損したファイルが検出されても Spark ジョブは引き続き実行され、読み取られた内容は引き続き返されます。 次のように numSkippedCorruptFiles として観察可能です。
Delta Lake 履歴の operationMetrics 列。 Databricks Runtime 11.3 LTS 以降で使用できます。
既定値:false
ignoreMissingFiles
型: Boolean
行方不明のファイルを無視するかどうかを指定します。 true の場合、行方不明のファイルが検出されても Spark ジョブは引き続き実行され、読み取られた内容は引き続き返されます。 Databricks Runtime 11.3 LTS 以降で使用できます。
既定値: 自動ローダーの場合は false、(レガシ) の true の場合は COPY INTO
modifiedAfter
型: Timestamp String、例: 2021-01-01 00:00:00.000000 UTC+0
指定されたタイムスタンプの後に変更タイムスタンプを持つファイルのみを取り込むためのフィルターとしてのオプションのタイムスタンプ。
既定値: なし
modifiedBefore
型: Timestamp String、例: 2021-01-01 00:00:00.000000 UTC+0
指定されたタイムスタンプの前に変更タイムスタンプを持つファイルのみを取り込むためのフィルターとしてのオプションのタイムスタンプ。
既定値: なし
pathGlobFilter または fileNamePattern
型: String
ファイルを選択するために使用できる可能性のある glob パターン。 次と同等:
PATTERN (レガシ) の COPY INTOfileNamePattern では read_files を使用できます。
既定値: なし
recursiveFileLookup
型: Boolean
このオプションは、名前が date=2019-07-01 のようなパーティションの名前付けスキームに従っていない場合でも、入れ子になったディレクトリを検索します。
既定値:false

JSON のオプション

選択肢
allowBackslashEscapingAnyCharacter
型: Boolean
バックスラッシュを使用して、後続の任意の 1 文字をエスケープすることを許可するかどうか。 有効にしない場合は、JSON の仕様に明示されている文字のみをエスケープできます。
既定値:false
allowComments
型: Boolean
解析対象のコンテンツ内で Java、C、および C++ スタイルのコメント ('/''*'、および '//' の種類) の使用を許可するかどうか。
既定値:false
allowNonNumericNumbers
型: Boolean
非数値 (NaN) トークンのセットを有効な浮動小数点数値として許可するかどうか。
既定値:true
allowNumericLeadingZeros
型: Boolean
追加の (無視できる) ゼロで始まる整数値を許可するかどうか (例: 000001)。
既定値:false
allowSingleQuotes
型: Boolean
単一引用符 (アポストロフィ、'\' 文字) を使用して、文字列 (名前と文字列値) を囲むことを許可するかどうか。
既定値:true
allowUnquotedControlChars
型: Boolean
JSON 文字列に、エスケープされていない制御文字 (タブや改行文字など、値が 32 未満の ASCII 文字) を含めることを許可するかどうか。
既定値:false
allowUnquotedFieldNames
型: Boolean
引用符で囲まれていないフィールド名 (JavaScript では許可されるが、JSON 仕様では許可されない) の使用を許可するかどうか。
既定値:false
badRecordsPath
型: String
不正な JSON レコードに関する情報を記録するためのファイルを格納するパス。
ファイル ベースのデータ ソースで badRecordsPath オプションを使用する場合、次の制限があります。
  • これは非トランザクションであり、一貫性のない結果につながる可能性があります。
  • 一時的なエラーはエラーとして扱われます。

既定値: なし
columnNameOfCorruptRecord
型: String
形式に誤りがあり、解析できないレコードを格納するための列。 解析の modeDROPMALFORMED に設定する場合、この列は空になります。
既定値:_corrupt_record
dateFormat
型: String
日付文字列を解析するための形式。
既定値:yyyy-MM-dd
dropFieldIfAllNull
型: Boolean
スキーマの推論中に、すべて null 値の列または空の配列および構造体を無視するかどうか。
既定値:false
encoding または charset
型: String
JSON ファイルのエンコードの名前。 オプションの一覧については、java.nio.charset.Charset を参照してください。 UTF-16UTF-32 の場合、multilinetrue を使用することはできません。
既定値:UTF-8
inferTimestamp
型: Boolean
タイムスタンプ文字列を TimestampType として推論を試みるかどうか。 次の設定の場合
true、スキーマの推論にかなりの時間がかかることがあります。 自動ローダーで使うには cloudFiles.inferColumnTypes を有効にする必要があります。
既定値:false
lineSep
型: String
連続する 2 つの JSON レコードの間の文字列。
既定値: なし。\r\r\n\n を対象として含みます
locale
型: String
java.util.Locale 識別子。 JSON 内の既定の日付、タイムスタンプ、および 10 進数の解析に影響します。
既定値:US
mode
型: String
形式に誤りがあるレコードの処理に関するパーサーのモード。 PERMISSIVEDROPMALFORMED、または FAILFAST のいずれか。
既定値:PERMISSIVE
multiLine
型: Boolean
JSON レコードが複数の行にまたがるかどうか。
既定値:false
prefersDecimal
型: Boolean
可能な場合は float 型や double 型の代わりに DecimalType として文字列を推論しようとします。 次のいずれかの方法で、スキーマ推論も使う必要があります。
inferSchema を有効にするか、Auto Loader で cloudFiles.inferColumnTypes を使います。
既定値:false
primitivesAsString
型: Boolean
数値やブール値などのプリミティブ型を StringType として推論するかどうか。
既定値:false
readerCaseSensitive
型: Boolean
rescuedDataColumn が有効な場合、大文字と小文字の区別の動作を指定します。 true の場合は、スキーマと大文字と小文字が異なる名前のデータ列を救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み込みます。 Databricks Runtime で利用可能
13.3 以上
既定値:true
rescuedDataColumn
型: String
データ型の不一致またはスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。 自動ローダーを使用する場合、この列は既定で含まれます。 詳細については、「復旧されたデータ列とは」を参照してください。
COPY INTO (レガシ) では、COPY INTOを使用してスキーマを手動で設定できないため、復旧されたデータ列はサポートされません。 Databricks では、ほとんどのインジェスト シナリオで自動ローダーを使用することをお勧めします。
既定値: なし
singleVariantColumn
型: String
JSON ドキュメント全体を取り込むかどうか。指定された文字列を列の名前として持つ単一のバリアント列に解析されます。 無効にした場合、JSON フィールドは独自の列に取り込まれます。
既定値: なし
timestampFormat
型: String
タイムスタンプ文字列を解析するための形式。
既定値:yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
型: String
タイムスタンプと日付を解析するときに使用する java.time.ZoneId
既定値: なし

CSV のオプション

選択肢
badRecordsPath
型: String
不正な CSV レコードに関する情報を記録するためのファイルを格納するパス。
既定値: なし
charToEscapeQuoteEscaping
型: Char
引用符のエスケープに使用する文字をエスケープするために使用する文字。 たとえば、レコードが [ " a\\", b ] の場合は次のようになります。
  • '\'をエスケープする文字が未定義の場合、レコードは解析されません。 パーサーによって、文字 ([a],[\],["],[,],[ ],[b]) が読み取られ、終了引用符が見つからないためエラーがスローされます。
  • '\' をエスケープする文字が '\'として定義されている場合、[a\][b]の 2 つの値でレコードが読み取られます。

既定値:'\0'
columnNameOfCorruptRecord
自動ローダーがサポートされています。 COPY INTO (レガシ) ではサポートされていません。
型: String
形式に誤りがあり、解析できないレコードを格納するための列。 解析の modeDROPMALFORMED に設定する場合、この列は空になります。
既定値:_corrupt_record
comment
型: Char
テキスト行の先頭に配置した場合に行コメントを表す文字を定義します。 コメントのスキップを無効にするには、'\0' を使用します。
既定値:'\u0000'
dateFormat
型: String
日付文字列を解析するための形式。
既定値:yyyy-MM-dd
emptyValue
型: String
空の値の文字列表現。
既定値:""
encoding または charset
型: String
CSV ファイルのエンコードの名前。 オプションの一覧については、java.nio.charset.Charset を参照してください。 UTF-16UTF-32 の場合、multilinetrue を使用することはできません。
既定値:UTF-8
enforceSchema
型: Boolean
指定または推論されたスキーマを CSV ファイルに強制的に適用するかどうか。 このオプションを有効にすると、CSV ファイルのヘッダーは無視されます。 自動ローダーを使用してデータをレスキューし、スキーマの展開を許可する場合、このオプションは既定では無視されます。
既定値:true
escape
型: Char
データの解析時に使用するエスケープ文字。
既定値:'\'
header
型: Boolean
CSV ファイルにヘッダーが含まれているかどうか。 自動ローダーによって、スキーマの推論時にファイルにヘッダーが含まれているものと見なされます。
既定値:false
ignoreLeadingWhiteSpace
型: Boolean
解析対象の各値の先頭の空白文字を無視するかどうか。
既定値:false
ignoreTrailingWhiteSpace
型: Boolean
解析対象の各値の末尾の空白文字を無視するかどうか。
既定値:false
inferSchema
型: Boolean
解析対象の CSV レコードのデータ型を推論するか、すべての列が StringType であると見なすか。 true に設定した場合は、追加でデータを渡す必要があります。 自動ローダーの場合は、代わりに cloudFiles.inferColumnTypes を使います。
既定値:false
lineSep
型: String
連続する 2 つの CSV レコードの間の文字列。
既定値: なし。\r\r\n\n を対象として含みます
locale
型: String
java.util.Locale 識別子。 CSV 内の既定の日付、タイムスタンプ、および 10 進数の解析に影響します。
既定値:US
maxCharsPerColumn
型: Int
解析する値の予想最大文字数。 メモリ エラーを回避するために使用できます。 既定値は -1 で、無制限を意味します。
既定値:-1
maxColumns
型: Int
レコードに含めることができる列数のハード制限。
既定値:20480
mergeSchema
型: Boolean
複数のファイル全体でスキーマを推論するか、各ファイルのスキーマをマージするかどうか。 スキーマの推論時に、自動ローダーに対して既定で有効になります。
既定値:false
mode
型: String
形式に誤りがあるレコードの処理に関するパーサーのモード。 次のいずれか: 'PERMISSIVE'
'DROPMALFORMED' および 'FAILFAST'
既定値:PERMISSIVE
multiLine
型: Boolean
CSV レコードが複数の行にまたがるかどうか。
既定値:false
nanValue
型: String
FloatType および DoubleType 列を解析する際の非数値の文字列表現。
既定値:"NaN"
negativeInf
型: String
FloatType または DoubleType 列を解析する際の負の無限大の文字列表現。
既定値:"-Inf"
nullValue
型: String
null 値の文字列表現。
既定値:""
parserCaseSensitive (非推奨)
型: Boolean
ファイルの読み取り中に、ヘッダーに宣言されている列をスキーマの大文字と小文字の区別に合わせるかどうか。 自動ローダーについては、これは既定で true となります。 有効にすると、大文字と小文字が異なる列は rescuedDataColumn に救出されます。 readerCaseSensitive が優先されるため、このオプションは非推奨となりました。
既定値:false
positiveInf
型: String
FloatType または DoubleType 列を解析する際の正の無限大の文字列表現。
既定値:"Inf"
preferDate
型: Boolean
可能な場合、タイムスタンプではなく日付として文字列を推論しようとします。 inferSchema を有効にするか、
cloudFiles.inferColumnTypes で自動ローダーを使用することで、スキーマ推論も使用する必要があります。
既定値:true
quote
型: Char
フィールド区切り記号が値に含まれる場合に、値のエスケープに使用する文字。
既定値:"
readerCaseSensitive
型: Boolean
rescuedDataColumn が有効な場合、大文字と小文字の区別の動作を指定します。 true の場合は、スキーマと大文字と小文字が異なる名前のデータ列を救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み込みます。
既定値:true
rescuedDataColumn
型: String
データ型の不一致とスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。 自動ローダーを使用する場合、この列は既定で含まれます。 詳細については、「復旧されたデータ列とは」を参照してください。
COPY INTO (レガシ) では、COPY INTOを使用してスキーマを手動で設定できないため、復旧されたデータ列はサポートされません。 Databricks では、ほとんどのインジェスト シナリオで自動ローダーを使用することをお勧めします。
既定値: なし
sep または delimiter
型: String
列の間の区切り文字列。
既定値:","
skipRows
型: Int
無視する必要がある CSV ファイルの先頭からの行数 (コメント化された行や空の行を含みます)。 header が true の場合、ヘッダーは最初にスキップされていない行とコメントされていない行になります。
既定値:0
timestampFormat
型: String
タイムスタンプ文字列を解析するための形式。
既定値:yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
型: String
タイムスタンプと日付を解析するときに使用する java.time.ZoneId
既定値: なし
unescapedQuoteHandling
型: String
エスケープされていない引用符を処理するための方策。 使用可能なオプション:
  • STOP_AT_CLOSING_QUOTE: 入力にエスケープされていない引用符が見つかった場合は、引用符文字を蓄積し、終了引用符が見つかるまで値を引用符で囲まれた値として解析します。
  • BACK_TO_DELIMITER: 入力にエスケープされていない引用符が見つかった場合は、その値を引用符で囲まれていない値と見なします。 これにより、sep によって定義された区切り記号が見つかるまで、パーサーは現在解析対象となっている値のすべての文字を蓄積します。 値に区切り記号が見つからない場合は、区切り記号または行末が見つかるまで、入力の文字がパーサーによって蓄積され続けます。
  • STOP_AT_DELIMITER: 入力にエスケープされていない引用符が見つかった場合は、その値を引用符で囲まれていない値と見なします。 これにより、sep に定義した区切り記号または行末が入力内で見つかるまで、すべての文字がパーサーによって蓄積されます。
  • SKIP_VALUE: 入力にエスケープされていない引用符が見つかった場合、指定された値に対して解析されたコンテンツはスキップされ (次の区切り記号が見つかるまで)、nullValue で設定された値が代わりに生成されます。
  • RAISE_ERROR: エスケープされていない引用符が入力に見つかった場合、
    TextParsingException がスローされます。

既定値:STOP_AT_DELIMITER

XML のオプション

選択肢 説明 スコープ
rowTag 行として扱う XML ファイルの行タグ。 XML <books> <book><book>...<books> の例では、適切な値は book です。 これは必須オプションです。 読み取り
samplingRatio スキーマ推論に使用される行の割合を定義します。 XML 組み込み関数はこのオプションを無視します。 既定値: 1.0 読み取り
excludeAttribute 要素内の属性を除外するかどうか。 既定値: false 読み取り
mode 解析中に破損したレコードを処理するモードを許可します。
PERMISSIVE: 破損したレコードの場合は、columnNameOfCorruptRecord によって構成されたフィールドに形式に誤りがある文字列を格納し、形式に誤りがあるフィールドを null に設定します。 破損したレコードを保持するには、ユーザー定義スキーマで string という名前の columnNameOfCorruptRecord 型フィールドを設定できます。 スキーマにこのフィールドがない場合、破損したレコードは解析中に削除されます。 スキーマを推論すると、パーサーは出力スキーマに columnNameOfCorruptRecord フィールドを暗黙的に追加します。
DROPMALFORMED: 破損したレコードを無視します。 このモードは XML 組み込み関数ではサポートされていません。
FAILFAST: パーサーが破損したレコードを検出すると、例外をスローします。
読み取り
inferSchema true の場合は、結果として得られる各データフレーム列に対して適切な型を推論しようとします。 false の場合、結果の列はすべて string 型です。 既定:
true。 XML 組み込み関数はこのオプションを無視します。
読み取り
columnNameOfCorruptRecord 作成された形式に誤りがある文字列を含む新しいフィールドの名前を変更できるようになります。
PERMISSIVE モード。 既定値: spark.sql.columnNameOfCorruptRecord
読み取り
attributePrefix 属性と要素を区別するための属性のプレフィックス。 これはフィールド名のプレフィックスになります。 既定値は _ です。 XML の読み取り時は空にすることができますが、書き込み時は空にすることはできません。 読み取り、書き込み
valueTag 属性または子要素の要素も持つ要素内の文字データに使用されるタグ。 ユーザーがスキーマで valueTag フィールドを指定することもできますが、文字データが他の要素や属性と一緒に要素に存在する場合、スキーマ推論中に自動的に追加されます。 既定値: _VALUE 読み取り、書き込み
encoding 読み取りの場合は、指定されたエンコードの種類で XML ファイルをデコードします。 書き込みの場合は、保存される XML ファイルのエンコード (文字セット) を指定します。 XML 組み込み関数はこのオプションを無視します。 既定値: UTF-8 読み取り、書き込み
ignoreSurroundingSpaces 読み取られる値の周囲の空白をスキップするかどうかを定義します。 既定値: true。 空白のみの文字データは無視されます。 読み取り
rowValidationXSDPath 各行の省略可能な XML を個別に検証するために使用される XSD ファイルへのパス。 検証に失敗した行は、上記のように解析エラーと同様に処理されます。 XSD は、指定されたスキーマや推論されたスキーマにそれ以外の方法で影響を与えません。 読み取り
ignoreNamespace true場合、XML 要素と属性に対する名前空間のプレフィックスは無視されます。 たとえば、タグ <abc:author><def:author> は、どちらも単なる <author> として扱われます。 rowTag 要素では名前空間を無視することはできず、読み取り専用の子要素のみを無視できることに注意してください。 false の場合でも、XML 解析は名前空間を認識しません。 既定値: false 読み取り
timestampFormat datetime パターン形式に従った、カスタム形式のタイムスタンプ文字列。 これは timestamp 型に適用されます。 既定値: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] 読み取り、書き込み
timestampNTZFormat タイムゾーンを含まないタイムスタンプのカスタム形式の文字列で、datetime パターン形式に従っています。 これは TimestampNTZType 型に適用されます。 既定:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
読み取り、書き込み
dateFormat datetime パターン形式に従うカスタム日付形式の文字列。 これは、日付型に適用されます。 既定値: yyyy-MM-dd 読み取り、書き込み
locale IETF BCP 47 形式の言語タグとしてロケールを設定します。 たとえば、locale は日付とタイムスタンプの解析中に使用されます。 既定値: en-US 読み取り
rootTag XML ファイルのルート タグ。 例えば、<books> <book><book>...</books> では、適切な値は books です。 books foo="bar" のように値を指定することで、基本属性を含めることができます。 既定値: ROWS 書き込み
declaration 各出力 XML ファイルの先頭に書き込む XML 宣言の内容で、rootTag の前に記述します。 たとえば、foo の値を指定すると <?xml foo?> が書き込まれます。 空の文字列に設定すると抑制されます。 既定値: version="1.0"
encoding="UTF-8" standalone="yes"
書き込み
arrayElementName 書き込み時に配列値の列の各要素を囲む XML 要素の名前。 既定値: item 書き込み
nullValue null 値の文字列表記を設定します。 既定値: 文字列 null。 これが null である場合、パーサーはフィールドの属性と要素を書き込みません。 読み取り、書き込み
compression ファイルに保存するときに使用する圧縮コード。 これは、大文字と小文字が区別されない次の既知の短縮名のいずれかとすることができます (nonebzip2gziplz4snappy
deflate)。 XML 組み込み関数はこのオプションを無視します。 既定値: none
書き込み
validateName true の場合、XML 要素名の検証に失敗したときにエラーを発生させます。 たとえば、SQL フィールド名にはスペースを含めることができますが、XML 要素名にはスペースを含めることができません。 既定:
true
書き込み
readerCaseSensitive rescuedDataColumn が有効な場合、大文字と小文字の区別の動作を指定します。 true の場合は、スキーマと大文字と小文字が異なる名前のデータ列を救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み込みます。 既定値: true 読み取り
rescuedDataColumn データ型の不一致とスキーマの不一致 (列の大文字と小文字の区別を含む) のために解析できないすべてのデータを別の列に収集するかどうか。 自動ローダーを使用する場合、この列は既定で含まれます。 詳細については、「復旧されたデータ列とは」を参照してください。
COPY INTO (レガシ) では、COPY INTOを使用してスキーマを手動で設定できないため、復旧されたデータ列はサポートされません。 Databricks では、ほとんどのインジェスト シナリオで自動ローダーを使用することをお勧めします。
既定値: None。
読み取り
singleVariantColumn 1 つのバリアント列の名前を指定します。 このオプションが読み取り用に指定されている場合は、指定されたオプション文字列値を列の名前として使用して、XML レコード全体を 1 つの Variant 列に解析します。 このオプションが書き込み用に指定されている場合は、単一の Variant 列の値を XML ファイルに書き込みます。 既定値: none 読み取り、書き込み

PARQUET のオプション

選択肢
datetimeRebaseMode
型: String
ユリウス暦と予期的グレゴリオ暦の間の日付値とタイムスタンプ値のリベースを制御します。 使用できる値: EXCEPTIONLEGACY
CORRECTED
既定値:LEGACY
int96RebaseMode
型: String
ユリウス暦と予期的グレゴリオ暦の間の INT96 タイムスタンプ値のリベースを制御します。 使用できる値: EXCEPTIONLEGACY
CORRECTED
既定値:LEGACY
mergeSchema
型: Boolean
複数のファイル全体でスキーマを推論するか、各ファイルのスキーマをマージするかどうか。
既定値:false
readerCaseSensitive
型: Boolean
rescuedDataColumn が有効な場合、大文字と小文字の区別の動作を指定します。 true の場合は、スキーマと大文字と小文字が異なる名前のデータ列を救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み込みます。
既定値:true
rescuedDataColumn
型: String
データ型の不一致とスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。 自動ローダーを使用する場合、この列は既定で含まれます。 詳細については、「復旧されたデータ列とは」を参照してください。
COPY INTO (レガシ) では、COPY INTOを使用してスキーマを手動で設定できないため、復旧されたデータ列はサポートされません。 Databricks では、ほとんどのインジェスト シナリオで自動ローダーを使用することをお勧めします。
既定値: なし

AVRO のオプション

選択肢
avroSchema
型: String
ユーザーによって Avro 形式で指定される省略可能なスキーマ。 Avro を読み取る際、展開されたスキーマにこのオプションを設定できます。これは、実際の Avro スキーマと互換性はありますが、異なるものです。 逆シリアル化スキーマは、展開されたスキーマと一致するようになります。 たとえば、既定値がある追加列を 1 つ含む展開されたスキーマを設定した場合、読み取り結果にその新しい列も含まれるようになります。
既定値: なし
datetimeRebaseMode
型: String
ユリウス暦と予期的グレゴリオ暦の間の日付値とタイムスタンプ値のリベースを制御します。 使用できる値: EXCEPTIONLEGACY
CORRECTED
既定値:LEGACY
mergeSchema
型: Boolean
複数のファイル全体でスキーマを推論するか、各ファイルのスキーマをマージするかどうか。
Avro に対して mergeSchema を有効にしても、データ型は緩和されません。
既定値:false
readerCaseSensitive
型: Boolean
rescuedDataColumn が有効な場合、大文字と小文字の区別の動作を指定します。 true の場合は、スキーマと大文字と小文字が異なる名前のデータ列を救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み込みます。
既定値:true
rescuedDataColumn
型: String
データ型の不一致とスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。 自動ローダーを使用する場合、この列は既定で含まれます。
COPY INTO (レガシ) では、COPY INTOを使用してスキーマを手動で設定できないため、復旧されたデータ列はサポートされません。 Databricks では、ほとんどのインジェスト シナリオで自動ローダーを使用することをお勧めします。
詳細については、「復旧されたデータ列とは」を参照してください。
既定値: なし

BINARYFILE のオプション

バイナリ ファイルには、追加の構成オプションはありません。

TEXT のオプション

選択肢
encoding
型: String
テキスト ファイルの行区切り記号のエンコードの名前。 オプションの一覧については、「 java.nio.charset.Charset」を参照してください。
ファイルの内容はこのオプションの影響を受けず、as-is読み取られます。
既定値:UTF-8
lineSep
型: String
連続する 2 つのテキスト レコード間の文字列。
既定値: なし。\r\r\n\n を対象として含みます
wholeText
型: Boolean
ファイルを単一レコードとして読み取るかどうか。
既定値:false

ORC のオプション

選択肢
mergeSchema
型: Boolean
複数のファイル全体でスキーマを推論するか、各ファイルのスキーマをマージするかどうか。
既定値:false