Auto Loaderのオプション

cloudFilesソースに固有の構成オプションには、他の構造化ストリーミングソースオプションとは別の名前空間に存在するように、 cloudFilesプレフィックスが付けられます。

一般的なAuto Loaderのオプション

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

オプション

cloudFiles.allowOverwrites

タイプ: Boolean

入力ディレクトリファイルの変更が既存のデータを上書きすることを許可するかどうか。

この設定を有効にすることに関しては、いくつかの注意点があります。 ファイルが追加または上書きされた場合、Auto Loaderはファイルを再度処理しますか? 詳しくは。

デフォルト値 false

cloudFiles.backfillInterval

タイプ: Interval String

Auto Loader 、特定の間隔で非同期バックフィルをトリガーできます。 1 day 1 日 1 回埋め戻しするか、 1 week 週に 1 回埋め戻します。 ファイル イベント通知システムでは、アップロードされたすべてのファイルの 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 のファイルがある場合、Databricks は 12 GB をマイクロバッチで処理します。 cloudFiles.maxFilesPerTriggerと一緒に使用すると、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と一緒に使用すると、DatabricksはcloudFiles.maxFilesPerTriggerまたはcloudFiles.maxBytesPerTriggerのどちらか先に到達した方の下限まで消費します。このオプションは、Trigger.Once()(非推奨)と一緒に使用すると効果がありません。

デフォルト値:1000

cloudFiles.partitionColumns

タイプ: String

ファイルのディレクトリ構造から推測するHiveスタイルのパーティション列のコンマ区切りリスト。 Hive スタイルのパーティション列は、 <base-path>/a=x/b=1/c=y/file.formatなどの等価記号で結合されたキーと値のペアです。 この例では、パーティション列は ab、および cです。 デフォルトでは、スキーマ推論を使用していて、データをロードする <base-path> を指定している場合、これらの列はスキーマに自動的に追加されます。 スキーマを指定すると、 Auto Loader はこれらの列がスキーマに含まれることを想定します。 これらの列をスキーマの一部として使用しない場合は、これらの列を無視する "" を指定できます。 さらに、このオプションは、次の例のように、複雑なディレクトリ構造で列のファイル パスを推論する場合にも使用できます。

<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として指定すると、file1.csvに対してyear=2022を返されますが、monthday列はnullになります。monthdayfile2.csvfile3.csvに対して正しく解析されます。

デフォルト値: なし

cloudFiles.schemaEvolutionMode

タイプ: String

データ内で新しい列が検出されたときにスキーマを進化させるモード。デフォルトでは、JSONデータセットを推論するときに列は文字列として推論されます。詳細については、スキーマ進化 を参照してください。

デフォルト値:スキーマが提供されていない場合は"addNewColumns"、それ以外の場合は"none"

cloudFiles.schemaHints

タイプ: String

スキーマ推論中にAuto Loaderに提供するスキーマ情報。詳細については、スキーマのヒントを参照してください。

デフォルト値: なし

cloudFiles.schemaLocation

タイプ: String

推論されたスキーマとその後の変更を保存する場所。詳細については、スキーマ推論を参照してください。

デフォルト値:なし(スキーマを推論する場合に必要)

cloudFiles.useStrictGlobber

タイプ: Boolean

で他のファイル ソースのデフォルト グロビング動作と一致する厳密な を使用するかどうかglobberApache Spark詳細については、「 一般的なデータ読み込みパターン 」を参照してください。 Databricks Runtime 12.2 LTS 以降で使用できます。

デフォルト値 false

cloudFiles.validateOptions

タイプ: Boolean

Auto Loaderオプションを検証し、不明なオプションまたは一貫性のないオプションに対してエラーを返すかどうか。

デフォルト値 true

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

以下のオプションは、ディレクトリリストモードに関連するものです。

オプション

cloudFiles.useIncrementalListing (非推奨)

タイプ: String

この機能は非推奨になりました。 Databricks では、cloudFiles.useIncrementalListingの代わりにファイル通知モードを使用することをお勧めします。

ディレクトリ・リスト・モードでフル・リストではなく、インクリメンタル・リストを使用するかどうか。 デフォルトにより、 Auto Loader は、特定のディレクトリがインクリメンタル リストに適用可能かどうかを自動的に検出するために最善の努力を払います。 増分リストを明示的に使用することも、ディレクトリ全体をそれぞれ true または false に設定して使用することもできます。

語彙的に順序付けられていないディレクトリでインクリメンタルリストを誤って有効にすると、 Auto Loader 新しいファイルを検出できなくなります。

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の詳細については、SQS コスト配分タグAmazonおよびAmazon SNS のタグの構成トピックを参照してください。(1)

Azureの詳細については、「キューとメタデータの名前付け」および「イベント サブスクリプションproperties.labelsの範囲」を参照してください。Auto Loader は、これらのキーと値のタグのペアをラベルとして JSON に格納します。 (1)

GCPの詳細については、「ラベルを使用した使用状況のレポート」を参照してください。(1)

デフォルト値: なし

cloudFiles.useNotifications

タイプ: Boolean

ファイル通知モードを使用して、新しいファイルがいつ存在するかを判断するかどうか。 falseの場合は、ディレクトリリストモードを使用します。Auto Loader ファイル検出モードの比較を参照してください。

デフォルト値 false

(1) Auto Loaderは、デフォルトではベストエフォートベースで次のキーと値のタグのペアを追加します。

  • vendorDatabricks

  • path: データが読み込まれる場所。ラベル付けの制限のため、GCPでは使用できません。

  • checkpointLocation: ストリームのチェックポイントの場所。ラベル付けの制限のため、GCPでは使用できません。

  • streamId: ストリームのグローバル一意識別子。

これらのキー名は予約されており、その値を上書きすることはできません。

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

Auto Loaderを使用すると、JSONCSVPARQUETAVROTEXTBINARYFILE、およびORCファイルを取り込むことができます。

一般的なオプション

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

オプション

ignoreCorruptFiles

タイプ: Boolean

破損したファイルを無視するかどうか。 true の場合、破損したファイルに遭遇しても Spark ジョブは引き続き実行され、読み取られた内容は引き続き返されます。 Delta Lake履歴のoperationMetrics列にnumSkippedCorruptFilesとして観察できます。Databricks Runtime 11.3 LTS 以降で使用できます。

デフォルト値 false

ignoreMissingFiles

タイプ: Boolean

見つからないファイルを無視するかどうか。 true の場合、不足しているファイルが検出されても Spark ジョブは引き続き実行され、読み取られた内容は引き続き返されます。 Databricks Runtime 11.3 LTS 以降で使用できます。

デフォルト値:falsetrue の場合は 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 INTOPATTERN に相当します。fileNamePatternread_filesで使用できます。

デフォルト値: なし

recursiveFileLookup

タイプ: Boolean

スキーマ推論中にパーティション推論をスキップするかどうか。 これは、ロードされるファイルには影響しません。

デフォルト値 false

JSONオプション

オプション

allowBackslashEscapingAnyCharacter

タイプ: Boolean

バックスラッシュの後に続く文字のエスケープを許可するかどうか。有効にしない場合、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

形式が正しくなく、解析できないレコードを格納するための列。解析用のmode DROPMALFORMEDに設定されている場合、この列は空になります。

デフォルト値 _corrupt_record

dateFormat

タイプ: String

日付文字列を解析するための形式。

デフォルト値 yyyy-MM-dd

dropFieldIfAllNull

タイプ: Boolean

スキーマ推論中に、すべてのNULL値の列、または空の配列および構造体を無視するかどうか。

デフォルト値 false

encodingまたはcharset

タイプ: String

JSONファイルのエンコーディングの名前。オプションのリストについては、java.nio.charset.Charsetを参照してください。multilinetrueの場合は、UTF-16UTF-32を使用できません。

デフォルト値 UTF-8

inferTimestamp

タイプ: Boolean

タイムスタンプ文字列を TimestampTypeとして推論するかどうか。 trueに設定すると、スキーマの推論に著しく時間がかかる場合があります。Auto Loaderで使用するには、cloudFiles.inferColumnTypesを有効にする必要があります。

デフォルト値 false

lineSep

タイプ: String

連続する2つのJSONレコード間の文字列。

デフォルト値:なし。次ををカバーします:\r\r\n\n

locale

タイプ: String

java.util.Locale識別子。JSON内のデフォルトの日付、タイムスタンプ、小数の解析に影響します。

デフォルト値 US

mode

タイプ: String

不正な形式のレコードの処理に関するパーサーモード。'PERMISSIVE''DROPMALFORMED'、または'FAILFAST'のいずれか。

デフォルト値 PERMISSIVE

multiLine

タイプ: Boolean

JSONレコードが複数行にまたがるかどうか。

デフォルト値 false

prefersDecimal

タイプ: Boolean

可能な場合は、float型またはdouble型ではなく、文字列をDecimalTypeとして推論しようとします。また、inferSchemaを有効にするか、cloudFiles.inferColumnTypesをAuto Loaderとともに使用することで、スキーマ推論を使用する必要があります。

デフォルト値 false

primitivesAsString

タイプ: Boolean

数値やブール値などのプリミティブ型をStringTypeとして推論するかどうか。

デフォルト値 false

readerCaseSensitive

タイプ: Boolean

rescuedDataColumnが有効になっている場合の大文字と小文字の区別動作を指定します。true の場合、名前がスキーマと大文字と小文字で異なるデータ列をレスキューします。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み取ります。 Databricks Runtime 13.3 以降で使用できます。

デフォルト値 true

rescuedDataColumn

タイプ: String

データ型の不一致またはスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。 この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、 レスキューされたデータ列とはを参照してください。

デフォルト値: なし

singleVariantColumn

タイプ: String

JSON ドキュメント全体を取り込むかどうか。列の名前として指定された文字列を持つ 1 つの Variant 列に解析されます。 無効にすると、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]を読み取り、終了引用符が見つからないためエラーを投げます。

  • '\'をエスケープする文字が'\'として定義されている場合、レコードは2つの値[a\][b]で読み取られます。

デフォルト値 '\0'

columnNameOfCorruptRecord

Auto Loaderでサポートされています。COPY INTOではサポートされていません。

タイプ: String

形式が正しくなく、解析できないレコードを格納するための列。解析用のmode DROPMALFORMEDに設定されている場合、この列は空になります。

デフォルト値 _corrupt_record

comment

タイプ: Char

テキスト行の先頭にある場合に、行コメントを表す文字を定義します。コメントのスキップを無効にするには、'\0'を使用します。

デフォルト値 '\u0000'

dateFormat

タイプ: String

日付文字列を解析するための形式。

デフォルト値 yyyy-MM-dd

emptyValue

タイプ: String

空の値の文字列形式。

デフォルト値 ""

encodingまたはcharset

タイプ: String

CSVファイルのエンコード名。オプションのリストについては、java.nio.charset.Charsetを参照してください。multilinetrueの場合、 UTF-16UTF-32 は使用できません。

デフォルト値 UTF-8

enforceSchema

タイプ: Boolean

指定したスキーマまたは推論されたスキーマを CSV ファイルに強制的に適用するかどうか。 このオプションを有効にすると、CSV ファイルのヘッダーは無視されます。 このオプションは、 Auto Loader を使用してデータをレスキューし、スキーマ進化を許可する場合、デフォルトで無視されます。

デフォルト値 true

escape

タイプ: Char

データの解析時に使用するエスケープ文字。

デフォルト値 '\'

header

タイプ: Boolean

CSVファイルにヘッダーが含まれているかどうか。Auto Loaderは、スキーマを推論するときにファイルにヘッダーがあると想定します。

デフォルト値 false

ignoreLeadingWhiteSpace

タイプ: Boolean

解析された各値の先頭の空白を無視するかどうか。

デフォルト値 false

ignoreTrailingWhiteSpace

タイプ: Boolean

解析された各値の末尾の空白を無視するかどうか。

デフォルト値 false

inferSchema

タイプ: Boolean

解析されたCSVレコードのデータ型を推測するか、すべての列がStringTypeであると仮定するかどうか。trueに設定されている場合は、データの追加パスが必要です。Auto Loaderでは、代わりにcloudFiles.inferColumnTypesを使用します。

デフォルト値 false

lineSep

タイプ: String

連続する2つのCSVレコード間の文字列。

デフォルト値:なし。次ををカバーします:\r\r\n\n

locale

タイプ: String

java.util.Locale識別子。CSV内のデフォルトの日付、タイムスタンプ、小数点の解析に影響を与えます。

デフォルト値 US

maxCharsPerColumn

タイプ: Int

解析する値から予想される最大文字数。メモリエラーを回避するために使用できます。デフォルトは-1で、無制限を意味します。

デフォルト値 -1

maxColumns

タイプ: Int

レコードに含めることができる列数のハードリミット。

デフォルト値 20480

mergeSchema

タイプ: Boolean

複数のファイルにまたがるスキーマを推測し、各ファイルのスキーマをマージするかどうか。 スキーマを推論するときに Auto Loader するためにデフォルトで有効になります。

デフォルト値 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

ファイルの読み取り中に、ヘッダーで宣言された列をスキーマの大文字と小文字を区別して配置するかどうか。Auto Loaderのデフォルトでは、これはtrueです。有効にすると、大文字と小文字が異なる列がrescuedDataColumnで救出されます。このオプションは廃止され、readerCaseSensitiveが採用されました。

デフォルト値 false

positiveInf

タイプ: String

FloatTypeまたはDoubleType列を解析するときの正の無限大の文字列表現。

デフォルト値 "Inf"

preferDate

タイプ: Boolean

可能な場合は、文字列をタイムスタンプではなく日付として推測しようとします。またinferSchemaを有効にするか、Auto LoaderでcloudFiles.inferColumnTypesを使用して、スキーマ推論を使用する必要があります。

デフォルト値 true

quote

タイプ: Char

フィールド区切り文字が値の一部である場合に、値をエスケープするために使用される文字。

デフォルト値 "

readerCaseSensitive

タイプ: Boolean

rescuedDataColumnが有効になっている場合の大文字と小文字の区別の動作を指定します。trueの場合、大文字と小文字が異なる名前を持つデータ列をスキーマから救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み取ります。

デフォルト値 true

rescuedDataColumn

タイプ: String

データ型の不一致、およびスキーマの不一致 (列の大文字と小文字の区別を含む) が別の列に一致しているため、解析できないすべてのデータを収集するかどうか。 この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。

デフォルト値: なし

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

解析中に破損したレコードを処理するためのMode。

PERMISSIVE: 破損したレコードの場合、不正な形式の文字列を columnNameOfCorruptRecordで設定されたフィールドに入れ、不正な形式のフィールドを nullに設定します。 破損したレコードを保持するには、ユーザー定義スキーマで columnNameOfCorruptRecord という名前の string タイプのフィールドを設定します。スキーマにフィールドがない場合、破損したレコードは解析中に削除されます。 スキーマを推論するとき、パーサーは出力スキーマに columnNameOfCorruptRecord フィールドを暗黙的に追加します。

DROPMALFORMED: 破損したレコードを無視します。 このモードは、XML 組み込み関数ではサポートされていません。

FAILFAST: パーサーが破損したレコードを満たしたときに例外をスローします。

読み取り

inferSchema

trueの場合、結果の各 DataFrame 列に対して適切な型を推論しようとします。falseの場合、生成されるすべてのカラムはstringタイプです。デフォルト: true。 XML 組み込み関数はこのオプションを無視します。

読み取り

columnNameOfCorruptRecord

PERMISSIVE モードによって作成された不正な形式の文字列を含む新しいフィールドの名前を変更できます。デフォルト: spark.sql.columnNameOfCorruptRecord

読み取り

attributePrefix

属性と要素を区別するための属性の接頭辞。 これは、フィールド名のプレフィックスになります。 デフォルトは _です。 XML の読み取りには空にすることができますが、書き込みには空にすることはできません。

読み取り、書き込み

valueTag

属性要素または子要素も持つ要素内の文字データに使用されるタグ。 ユーザーはスキーマで valueTag フィールドを指定することも、他の要素や属性を持つ要素に文字データが存在する場合にスキーマ推論中に自動的に追加されることもできます。 デフォルト: _VALUE

読み取り、書き込み

encoding

読み取り用に、指定されたエンコードタイプでXMLファイルをデコードします。 書き込み用に、保存されたXMLファイルのエンコーディング(charset)を指定します。 XML 組み込み関数はこのオプションを無視します。 デフォルト: UTF-8

読み取り、書き込み

ignoreSurroundingSpaces

読み取られる値から周囲の空白をスキップするかどうかを定義します。 デフォルト: true。 空白のみの文字データは無視されます。

読み取り

rowValidationXSDPath

各行の XML を個別に検証するために使用されるオプションの XSD ファイルへのパス。 検証に失敗した行は、上記のように解析エラーのように扱われます。 それ以外の場合、XSD は、提供または推論されるスキーマに影響を与えません。

読み取り

ignoreNamespace

trueの場合、XML 要素と属性の名前空間の接頭辞は無視されます。たとえば、タグ <abc:author><def:author>は、両方が単なる <author>であるかのように扱われます。 rowTag要素では名前空間を無視することはできず、読み取られた子のみ無視できます。XML 解析は、 false. デフォルト: 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

データ型の不一致とスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。 この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。 デフォルト: なし。

読み取り

PARQUETオプション

オプション

datetimeRebaseMode

タイプ: String

ユリウス暦と先発グレゴリオ暦の間でのDATE値とTIMESTAMP値のリベースを制御します。使用できる値:EXCEPTIONLEGACY、およびCORRECTED

デフォルト値 LEGACY

int96RebaseMode

タイプ: String

INT96のタイムスタンプ値をユリウス暦と先発グレゴリオ暦の間でリベースすることを制御します。使用できる値:EXCEPTIONLEGACY、およびCORRECTED

デフォルト値 LEGACY

mergeSchema

タイプ: Boolean

複数ファイルからスキーマを推定し、各ファイルのスキーマをマージするかどうか。

デフォルト値 false

readerCaseSensitive

タイプ: Boolean

rescuedDataColumnが有効になっている場合の大文字と小文字の区別の動作を指定します。trueの場合、大文字と小文字が異なる名前を持つデータ列をスキーマから救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み取ります。

デフォルト値 true

rescuedDataColumn

タイプ: String

データ型の不一致、およびスキーマの不一致 (列の大文字と小文字の区別を含む) が別の列に一致しているため、解析できないすべてのデータを収集するかどうか。 この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。

デフォルト値: なし

AVROオプション

オプション

avroSchema

タイプ: String

ユーザーがAvroフォーマットで提供するオプションのスキーマ。Avroを読み取る際、このオプションは、互換性はあるが実際のAvroスキーマとは異なる、進化したスキーマに設定することができます。逆シリアル化スキーマは、進化したスキーマと一致します。たとえば、デフォルト値を持つ1つの追加列を含む進化したスキーマを設定すると、読み取り結果には新しい列も含まれます。

デフォルト値: なし

datetimeRebaseMode

タイプ: String

ユリウス暦と先発グレゴリオ暦の間でのDATE値とTIMESTAMP値のリベースを制御します。使用できる値:EXCEPTIONLEGACY、およびCORRECTED

デフォルト値 LEGACY

mergeSchema

タイプ: Boolean

複数ファイルからスキーマを推定し、各ファイルのスキーマをマージするかどうか。AvroのmergeSchema では、データ型は緩和されません。

デフォルト値 false

readerCaseSensitive

タイプ: Boolean

rescuedDataColumnが有効になっている場合の大文字と小文字の区別の動作を指定します。trueの場合、大文字と小文字が異なる名前を持つデータ列をスキーマから救出します。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み取ります。

デフォルト値 true

rescuedDataColumn

タイプ: String

データ型の不一致、およびスキーマの不一致 (列の大文字と小文字の区別を含む) が別の列に一致しているため、解析できないすべてのデータを収集するかどうか。 この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。

デフォルト値: なし

BINARYFILEオプション

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

TEXTオプション

オプション

encoding

タイプ: String

TEXTファイルのエンコーディングの名前。オプションのリストについては、java.nio.charset.Charsetを参照してください。

デフォルト値 UTF-8

lineSep

タイプ: String

連続する2つのTEXTレコード間の文字列。

デフォルト値:なし。これは、以下をカバーします:\r\r\n、および \n

wholeText

タイプ: Boolean

ファイルを単一レコードとして読み取るかどうか。

デフォルト値 false

ORCオプション

オプション

mergeSchema

タイプ: Boolean

複数ファイルからスキーマを推定し、各ファイルのスキーマをマージするかどうか。

デフォルト値 false

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

Auto Loaderには、クラウドインフラを構成するためのオプションが多数用意されています。

AWS固有のオプション

cloudFiles.useNotifications = trueを選択し、Auto Loaderで通知サービスを設定する場合にのみ、次のオプションを指定します。

オプション

cloudFiles.region

タイプ: String

ソースS3バケットが存在し、AWS SNSとSQSサービスが作成されるリージョン。

デフォルト値: EC2 インスタンスのリージョン。

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

オプション

cloudFiles.queueUrl

タイプ: String

SQSキューのURL。提供された場合、Auto Loaderは独自のAWS SNSとSQSサービスをセットアップする代わりに、このキューから直接イベントを消費します。

デフォルト値: なし

IAMロールが利用できない場合や、異なるクラウドからデータを取り込む場合は、以下のオプションを使用してAWS SNSとSQSにアクセスするための認証情報を提供できます。

オプション

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を指定し、Auto Loaderに通知サービスを設定させる場合は、次のすべてのオプションに値を指定する必要があります。

オプション

cloudFiles.clientId

タイプ: String

サービスプリンシパルのクライアントIDまたはアプリケーションID。

デフォルト値: なし

cloudFiles.clientSecret

タイプ: String

サービスプリンシパルのクライアントシークレット。

デフォルト値: なし

cloudFiles.connectionString

タイプ: String

アカウントアクセスキーあるいは共有アクセス署名(SAS)に基づく、ストレージアカウントの接続文字列。

デフォルト値: なし

cloudFiles.resourceGroup

タイプ: String

ストレージアカウントが作成されるAzureリソースグループ。

デフォルト値: なし

cloudFiles.subscriptionId

タイプ: String

リソースグループが作成されるAzureサブスクリプションID。

デフォルト値: なし

cloudFiles.tenantId

タイプ: String

サービスプリンシパルが作成されAzureテナントID。

デフォルト値: なし

重要

自動通知セットアップは、Databricks Runtime 9.1以降を使用するAzure ChinaおよびGovernmentリージョンで利用できます。古いDBRバージョンのこれらのリージョンでファイル通知で自動ローダーを使用するには、queueNameを指定する必要があります。

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

オプション

cloudFiles.queueName

タイプ: String

Azureキューの名前。指定されている場合、クラウドファイルソースは、独自のAzure Event Gridサービスとキューストレージサービスを設定する代わりに、このキューからイベントを直接消費します。その場合、cloudFiles.connectionStringにはキューに対する読み取り権限のみが必要です。

デフォルト値: なし

Google固有のオプション

Auto Loader は、Google サービス アカウントを活用して、通知サービスを自動的に設定できます。 Google サービスの設定に従って、サービス アカウントを引き受けるようにクラスターを構成できます。サービス アカウントに必要な権限は 、「 Auto Loader ファイル通知モードとは」で指定されています。 それ以外の場合は、通知サービスの設定を Auto Loader に依頼する場合に、認証に次のオプションを提供できます。

オプション

cloudFiles.client

タイプ: String

GoogleサービスアカウントのクライアントID。

デフォルト値: なし

cloudFiles.clientEmail

タイプ: String

Googleサービスアカウントのメールアドレス。

デフォルト値: なし

cloudFiles.privateKey

タイプ: String

Googleサービスアカウント用に生成された秘密鍵。

デフォルト値: なし

cloudFiles.privateKeyId

タイプ: String

Googleサービスアカウント用に生成された秘密鍵のID。

デフォルト値: なし

cloudFiles.projectId

タイプ: String

GCSバケットが存在するプロジェクトのID。Google Cloud Pub/Subサブスクリプションもこのプロジェクト内に作成されます。

デフォルト値: なし

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

オプション

cloudFiles.subscription

タイプ: String

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

デフォルト値: なし