次の方法で共有


自動ローダーのオプション

cloudFiles ソースに固有の構成オプションの先頭には、cloudFiles が付加されるため、他の構造化ストリーム ソース オプションとは別の名前空間に含められます。

自動ローダーの一般的なオプション

ディレクトリ一覧モードまたはファイル通知モードには、次のオプションを構成できます。

オプション
cloudFiles.allowOverwrites
型: Boolean
入力ディレクトリ ファイルの変更による既存のデータの上書きを許可するかどうか。
この構成を有効にすることに関して、いくつかの注意事項があります。詳細については、「ファイルが追加または上書きされたときに、自動ローダーによってファイルが再度処理されますか?」を参照してください。
既定値:false
cloudFiles.backfillInterval
型: Interval String
自動ローダーは、特定の間隔で非同期バックフィルをトリガーできます。
たとえば、1 日に 1 回バックフィルする場合は 1 day で、週に 1 回バックフィルする場合は 1 week です。 ファイル イベント通知システムでは、アップロード済みのすべてのファイルの配信が 100% 保証されているわけではないため、最終的にすべてのファイルが処理されることを保証するには、バックフィルを使用するのがよいでしょう。これは、Databricks Runtime 8.4 (EoS) 以上で使用できます。
既定値: なし
cloudFiles.format
型: String
ソース パスのデータ ファイル形式。 使用できる値は、以下のとおりです。

既定値: なし (必須オプション)
cloudFiles.includeExistingFiles
型: Boolean
ストリーム処理入力パスに既存のファイルを含めるか、初期セットアップ後に到着した新しいファイルのみを処理するか。 このオプションは、初めてストリームを開始するときにのみ評価されます。 ストリームの再起動後にこのオプションを変更した場合、効果はありません。
既定値:true
cloudFiles.inferColumnTypes
型: Boolean
スキーマの推論を利用するときに、正確な列型を推論するかどうか。 既定では、列は JSON および CSV データセットを推論するときに文字列として推論されます。 詳細については、スキーマの推論に関する説明を参照してください。
既定値:false
cloudFiles.maxBytesPerTrigger
型: Byte String
各トリガーで処理される新しいバイトの最大数。 10g などのバイト文字列を指定して、各マイクロバッチを 10 GB のデータに制限できます。 これはソフト最大値です。 それぞれ 3 GB のファイルがある場合、Azure Databricks は 1 マイクロバッチで 12 GB を処理します。 cloudFiles.maxFilesPerTrigger と使用すると、Azure Databricks では、cloudFiles.maxFilesPerTrigger または cloudFiles.maxBytesPerTrigger の下限のうち、最初に到達した方までを消費します。 このオプションは、Trigger.Once() (Trigger.Once() は非推奨) と共に使用しても無効です。
既定値: なし
cloudFiles.maxFileAge
型: Interval String
重複排除を目的としてファイル イベントを追跡する期間。 Databricks では、1 時間に数百万のファイルの順序でデータを取り込む場合でない限り、このパラメーターのチューニングは推奨しません。 詳細については、「イベントの保持」 のセクションを参照してください。
cloudFiles.maxFileAge のチューニングがアグレッシブすぎると、重複取り込みやファイル欠如など、データ品質の問題を引き起こすことがあります。 そのため、Databricks は cloudFiles.maxFileAge に 90 日間などの控えめな設定を推奨しています。同等のデータ インジェスト ソリューションもこのくらいを推奨しています。
既定値: なし
cloudFiles.maxFilesPerTrigger
型: Integer
各トリガーで処理される新しいファイルの最大数。 cloudFiles.maxBytesPerTrigger と使用すると、Azure Databricks では、cloudFiles.maxFilesPerTrigger または cloudFiles.maxBytesPerTrigger の下限のうち、最初に到達した方までを消費します。 Trigger.Once() (非推奨) と一緒に使用すると、このオプションは無効です。
既定値: 1000
cloudFiles.partitionColumns
型: String
ファイルのディレクトリ構造から推測する Hive スタイルのパーティション列を、コンマで区切ったリストにします。 Hive スタイル パーティション列はキーと値のペアであり、次のような等号で組み合わされます
<base-path>/a=x/b=1/c=y/file.format. この例では、パーティション列は abc です。 既定では、スキーマ推論を使用しており、<base-path> にデータの読み込み元を指定する場合、これらの列は自動的にスキーマに追加されます。 スキーマを指定すると、自動ローダーにより、これらの列がこのスキーマに含まれると想定されます。 これらの列をスキーマの一部に含めない場合は、"" を指定して、これらの列を無視することができます。 さらに、下の例のような複雑なディレクトリ構造のファイル パスから列を推論するときに、このオプションを使用できます。
<base-path>/year=2022/week=1/file1.csv
<base-path>/year=2022/month=2/day=3/file2.csv
<base-path>/year=2022/month=2/day=4/file3.csv
cloudFiles.partitionColumnsyear,month,day に指定すると、返されます。
year=2022file1.csv に対応しますが、month および day 列は null に設定されます。
monthdayfile2.csv および file3.csv のために正しく解析されます。
既定値: なし
cloudFiles.schemaEvolutionMode
型: String
新しい列がデータで検出された場合にスキーマを展開するモード。 既定では、列は JSON データセットを推論するときに文字列として推論されます。 詳細については、スキーマの展開に関する説明を参照してください。
既定値: スキーマが指定されていない場合は "addNewColumns"
それ以外の場合 "none"
cloudFiles.schemaHints
型: String
スキーマの推論中に自動ローダーに提供するスキーマ情報。 詳細については、スキーマ ヒントに関するページを参照してください。
既定値: なし
cloudFiles.schemaLocation
型: String
推論されたスキーマとそれ以降の変更を保存する場所。 詳細については、スキーマの推論に関する説明を参照してください。
既定値: なし (スキーマを推論する場合は必須)
cloudFiles.useStrictGlobber
型: Boolean
Apache Spark の他のファイル ソースの既定のグロビング動作に一致する厳密な globber を使用するかどうか。 詳細については、「一般的なデータ読み込みパターン」を参照してください。 Databricks Runtime 12.2 LTS 以降で使用できます。
既定値:false
cloudFiles.validateOptions
型: Boolean
自動ローダー オプションを検証し、不明なオプションまたは一貫性のないオプションに対してエラーを返すかどうか。
既定値:true

ディレクトリ一覧のオプション

次のオプションは、ディレクトリ一覧モードに関連します。

オプション
cloudFiles.useIncrementalListing (非推奨)
型: String
この機能は廃止されました。 Databricks では、以下の代わりに ファイル通知モード を使用することをお勧めします
cloudFiles.useIncrementalListing
ディレクトリ一覧モードで、完全な一覧ではなく、増分一覧を使用するかどうか。 既定では、自動ローダーは、特定のディレクトリが増分一覧に該当する場合に、ベスト エフォートで自動検出を行います。 これを true または false に設定することで、増分一覧または完全なディレクトリ一覧を明示的に使用できます。
構文指定されていないディレクトリでインクリメンタル リストを誤って有効にすると、自動ローダーが新しいファイルを検出できなくなります。
Azure Data Lake Storage Gen2 (abfss://)、S3 (s3://)、GCS (gs://) で動作します。
Databricks Runtime 9.1 LTS 以降で使用できます。
既定値:auto
使用できる値: autotruefalse

ファイル通知オプション

次のオプションは、ファイル通知モードに関連します。

選択肢
cloudFiles.fetchParallelism
型: Integer
キュー サービスからメッセージをフェッチするときに使用するスレッドの数。
既定値: 1
cloudFiles.pathRewrites
型: JSON 文字列
複数の S3 バケットからファイル通知を受信する queueUrl を指定し、これらのコンテナー内のデータにアクセスするために構成されたマウント ポイントを利用する場合にのみ必要です。 bucket/key パスのプレフィックスをマウント ポイントで書き換える場合は、このオプションを使用します。 プレフィックスのみを書き換えられます。 たとえば、構成が
{"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"} の場合、パス
s3://<databricks-mounted-bucket>/path/2017/08/fileA.jsondbfs:/mnt/data-warehouse/2017/08/fileA.json に上書きされます。
既定値: なし
cloudFiles.resourceTag
次のコマンドを入力します: Map(String, String)
関連するリソースの関連付けと識別に役立つ一連のキーと値のタグ ペア。次に例を示します。
cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue")
.option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")
AWS の詳細については、Amazon SQS コスト割り当てタグAmazon SNS のタグの構成に関するページを参照してください。 (1)
Azure の詳細については、キューとメタデータの名前付けと、properties.labelsイベント サブスクリプションに関する情報をご覧ください。 自動ローダーは、これらのキーと値のタグ ペアを JSON にラベルとして保存します。 (1)
GCP の詳細については、「ラベル付き使用状況の報告」を参照してください。 (1)
既定値: なし
cloudFiles.useNotifications
型: Boolean
ファイル通知モードを使用して、新しいファイルがあるときを判断するかどうか。 false の場合は、ディレクトリ一覧モードを使用します。 「自動ローダー ファイル検出モードを比較する」を参照してください。
既定値:false

(1) 自動ローダーでは、ベスト エフォート ベースで、次のキーと値のタグ ペアが既定で追加されます。

  • vendor: Databricks
  • path: データが読み込まれる場所。 ラベル付けの制限のため、GCP では使用できません。
  • checkpointLocation: ストリームのチェックポイントの場所。 ラベル付けの制限のため、GCP では使用できません。
  • streamId: ストリームのグローバルに一意な識別子。

これらのキー名は予約済みであり、値を上書きすることはできません。

ファイル形式のオプション

自動ローダーを使用すると、JSONCSVPARQUETAVROTEXTBINARYFILEORC のファイルを取り込めます。

共通オプション

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

オプション
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 パターン。 これは
COPY INTO (レガシ) の PATTERNfileNamePattern では 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 レコードに関する情報を記録するためのファイルを格納するパス。
既定値: なし
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
形式に誤りがあるレコードの処理に関するパーサーのモード。 次のいずれか: 'PERMISSIVE'
'DROPMALFORMED' または '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 パターン形式に従ったカスタム形式の date の文字列。 これは、日付型に適用されます。 既定値: yyyy-MM-dd 読み取り、書き込み
locale IETF BCP 47 形式の言語タグとしてロケールを設定します。 たとえば、locale は日付とタイムスタンプの解析中に使用されます。 既定値: en-US 読み取り
rootTag XML ファイルのルート タグ。 例えば、<books> <book><book>...</books> では、適切な値は books です。 books foo="bar" のように値を指定することで、基本属性を含めることができます。 既定値: ROWS 書き込み
declaration すべての出力 XML ファイルの冒頭に rootTag の前に書き込む XML 宣言の内容。 たとえば、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。
読み取り

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 を参照してください。
既定値:UTF-8
lineSep
型: String
連続する 2 つのテキスト レコード間の文字列。
既定値: なし。\r\r\n\n を対象として含みます
wholeText
型: Boolean
ファイルを単一レコードとして読み取るかどうか。
既定値:false

ORC のオプション

オプション
mergeSchema
次のコマンドを入力します: Boolean
複数のファイル全体でスキーマを推論するか、各ファイルのスキーマをマージするかどうか。
既定値:false

クラウド固有のオプション

自動ローダーには、クラウド インフラストラクチャを構成するためのさまざまなオプションが用意されています。

AWS 固有のオプション

cloudFiles.useNotifications = true を選択し、自動ローダーで通知サービスを設定する場合のみ以下のオプションを指定します。

オプション
cloudFiles.region
次のコマンドを入力します: String
ソース S3 バケットが存在し、AWS SNS および SQS サービスが作成されるリージョン。
既定値: EC2 インスタンスのリージョン。

cloudFiles.useNotifications = true を選択し、既に設定したキューを自動ローダーで使用する場合にのみ、次のオプションを指定します。

オプション
cloudFiles.queueUrl
次のコマンドを入力します: String
SQS キューの URL。 指定がある場合、自動ローダーは独自の AWS SNS および SQS サービスを設定せずに、このキューから直接イベントを消費します。
既定値: なし

AWS 認証オプション

Databricks サービス資格情報を使用するには、次の認証オプションを指定します。

オプション
databricks.serviceCredential
次のコマンドを入力します: String
Databricks のサービス資格情報の名前。
既定値: なし

Databricks サービスの資格情報または IAM ロールを使用できない場合は、代わりに次の認証オプションを指定できます。

オプション
cloudFiles.awsAccessKey
次のコマンドを入力します: String
ユーザーの AWS アクセス キー ID。 以下と一緒に指定する必要があります
cloudFiles.awsSecretKey.
既定値: なし
cloudFiles.awsSecretKey
次のコマンドを入力します: String
ユーザーの AWS シークレット アクセス キー。 以下と一緒に指定する必要があります
cloudFiles.awsAccessKey.
既定値: なし
cloudFiles.roleArn
次のコマンドを入力します: String
引き受ける IAM ロールの ARN (必要な場合)。 ロールは、クラスターのインスタンス プロファイルから引き受けるか、資格情報を指定することで取得できます。
cloudFiles.awsAccessKey および cloudFiles.awsSecretKey
既定値: なし
cloudFiles.roleExternalId
次のコマンドを入力します: String
cloudFiles.roleArn を使用してロールを引き受ける際に指定する識別子。
既定値: なし
cloudFiles.roleSessionName
次のコマンドを入力します: String
以下を使用してロールを引き受ける際に使用するオプションのセッション名
cloudFiles.roleArn.
既定値: なし
cloudFiles.stsEndpoint
型: String
cloudFiles.roleArn を使用してロールを引き受ける際に AWS STS にアクセスするために指定するオプションのエンドポイント。
既定値: なし

Azure 固有のオプション

cloudFiles.useNotifications = true を指定し、自動ローダーで通知サービスを設定する場合は、次のすべてのオプションの値を指定する必要があります。

選択肢
cloudFiles.resourceGroup
型: String
ストレージ アカウントが作成される Azure リソース グループ。
既定値: なし
cloudFiles.subscriptionId
型: String
リソース グループが作成される Azure サブスクリプション ID。
既定値: なし
databricks.serviceCredential
型: String
あなたのDatabricks サービス資格情報の名前。
既定値: なし

Databricks サービスの資格情報を使用できない場合は、代わりに次の認証オプションを指定できます。

オプション
cloudFiles.clientId
型: String
サービス プリンシパルのクライアント ID またはアプリケーション ID。
既定値: なし
cloudFiles.clientSecret
型: String
サービス プリンシパルのクライアント シークレット。
既定値: なし
cloudFiles.connectionString
型: String
アカウント アクセス キーまたは Shared Access Signature (SAS) に基づくストレージ アカウントの接続文字列。
既定値: なし
cloudFiles.tenantId
次のコマンドを入力します: String
サービス プリンシパルが作成される Azure テナント ID。
既定値: なし

重要

自動通知設定は、Azure China と Government リージョンで Databricks Runtime 9.1 以降を使用して利用できます。 以前の DBR バージョンの場合、これらのリージョンでファイル通知と一緒に自動ローダーを使用するには、queueName を指定する必要があります。

cloudFiles.useNotifications = true を選択し、既に設定したキューを自動ローダーで使用する場合にのみ、次のオプションを指定します。

オプション
cloudFiles.queueName
次のコマンドを入力します: String
Azure キューの名前。 指定した場合、クラウド ファイル ソースは、独自の Azure Event Grid サービスと Queue Storage サービスを設定する代わりに、このキューのイベントを直接消費します。 その場合、databricks.serviceCredential または cloudFiles.connectionString では、キューに対する読み取りアクセス許可のみが必要です。
既定値: なし

Google 固有のオプション

自動ローダーは、Databricks サービス資格情報を利用して通知サービスを自動的に設定できます。 Databricks サービス資格情報を使用して作成されたサービス アカウントには、「自動ローダー ファイル通知モードとは」で指定されたアクセス許可が必要になります。

オプション
cloudFiles.projectId
型: String
GCS バケットが存在するプロジェクトの ID。 Google Cloud Pub/Sub サブスクリプションも、このプロジェクト内に作成されます。
既定値: なし
databricks.serviceCredential
次のコマンドを入力します: String
Databricks のサービス資格情報の名前。
既定値: なし

Databricks サービスの資格情報を使用できない場合は、Google サービス アカウントを直接使用できます。 Google サービスのセットアップ に従って、サービス アカウント 想定するようにクラスターを構成するか、次の認証オプションを直接指定できます。

オプション
cloudFiles.client
型: String
Google Service Account のクライアント ID。
既定値: なし
cloudFiles.clientEmail
型: String
Google Service Account のメール アドレス。
既定値: なし
cloudFiles.privateKey
型: String
Google Service Account 用に生成された秘密キー。
既定値: なし
cloudFiles.privateKeyId
型: String
Google Service Account 用に生成された秘密キーの ID。
既定値: なし

cloudFiles.useNotifications = true を選択し、既に設定したキューを自動ローダーで使用する場合にのみ、次のオプションを指定します。

オプション
cloudFiles.subscription
型: String
Google Cloud Pub/Sub サブスクリプションの名前。 指定されている場合、クラウド ファイル ソースは、独自の GCS 通知と Google Cloud Pub/Sub サービスを設定する代わりに、このキューからのイベントを消費します。
既定値: なし