Auto Loaderのオプション

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

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

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

オプション

cloudFiles.allowOverwrites

タイプ: Boolean

入力ディレクトリファイルの変更が既存のデータを上書きすることを許可するかどうか。Databricks Runtime 7.6以降で利用可能です。

この構成の有効化には、いくつかの注意点があります。 詳しくは Auto Loader FAQ をご覧ください。

デフォルト値 false

cloudFiles.backfillInterval

タイプ: Interval String

Auto Loader 、特定の間隔で非同期バックフィルをトリガーできます。 1 day 1 日に 1 回埋め戻すか、週に 1 回埋め戻す 1 week 。 ファイル イベント通知システムでは、アップロードされたすべてのファイルの 100% の配信が保証されるわけではないため、バックフィルを使用して、 Databricks Runtime 8.4 (サポート対象外) 以降で使用可能なすべてのファイルが最終的に処理されることを保証できます。

デフォルト値: なし

cloudFiles.format

タイプ: String

ソースパスのデータファイル形式 。許可される値は次のとおりです。

既定値: なし (必須オプション)

cloudFiles.includeExistingFiles

タイプ: Boolean

ストリーム処理入力パスに既存のファイルを含めるか、初期セットアップ後に到着する新しいファイルのみを処理するかどうか。このオプションは、初めてストリームを開始するときにのみ評価されます。ストリームの再開後にこのオプションを変更しても効果はありません。

デフォルト値 true

cloudFiles.inferColumnTypes

タイプ: Boolean

スキーマ推論を利用する際に、正確な列タイプを推論するかどうか。デフォルトでは、JSONおよびCSVデータセットを推論するときに列は文字列として推論されます。詳細については、スキーマ推論を参照してください。

デフォルト値 false

cloudFiles.maxBytesPerTrigger

タイプ: Byte String

各トリガーで処理される新しいバイトの最大数。10gなどのバイト文字列を指定して、各マイクロバッチのデータを10 GBに制限できます。これはソフトマキシマムです。3GBのファイルがある場合、Databricksはマイクロバッチで12GBを処理します。cloudFiles.maxFilesPerTriggerと一緒に使用すると、DatabricksはcloudFiles.maxFilesPerTriggerまたはcloudFiles.maxBytesPerTriggerのどちらか先に到達した方の下限まで消費します。このオプションは、Trigger.Once()(非推奨)と一緒に使用すると効果がありません。

デフォルト値: なし

cloudFiles.maxFileAge

タイプ: Interval String

重複排除の目的でファイル イベントが追跡される期間。 Databricks では、1 時間に数百万のファイル単位でデータを取り込む場合を除き、このパラメーターの調整はお勧めしません。 詳細については、 イベントの保持 に関するセクションを参照してください。

cloudFiles.maxFileAgeを積極的にチューニングしすぎると、重複したインジェストやファイルの欠落などのデータ品質の問題が発生する可能性があります。そのため、Databricks では、同等のデータ取り込みソリューションが推奨するものと同様の 90 日など、 cloudFiles.maxFileAgeの保守的な設定をお勧めします。

デフォルト値: なし

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

Apache Sparkの他のファイルソースのデフォルトのグロブ動作と一致する厳密なグロブを使用するかどうか。詳細については、一般的なデータロードパターンを参照してください。Databricks Runtime 12.0以降で利用可能です。

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

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

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

デフォルト値: なし

cloudFiles.useNotifications

タイプ: Boolean

新しいファイルがあるかどうかを判断するためにファイル通知モードを使用するかどうか。falseの場合は、ディレクトリリストモードを使用します。Auto Loaderの仕組みを参照してください。

デフォルト値 false

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

  • vendor: Databricks

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

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

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

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

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

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

一般的なオプション

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

オプション

ignoreCorruptFiles

タイプ: Boolean

破損したファイルを無視するかどうか。trueの場合、破損したファイルが発生した場合でもSparkジョブは実行を継続し、読み込まれた内容が返されます。Delta Lakeの履歴のoperationMetrics列でnumSkippedCorruptFilesとして観測できます。Databricks Runtime 11.0以降で利用可能です。

デフォルト値 false

ignoreMissingFiles

タイプ: Boolean

見つからないファイルを無視するかどうか。trueを指定すると、ファイルが見つからない場合でもSparkジョブは実行され続け、読み込まれた内容が返されます。Databricks Runtime 11.0以降で利用可能です。

デフォルト値: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を使用するときに デフォルト によって含まれます。 詳細については、 レスキューされたデータ列とはを参照してください。

デフォルト値: なし

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 ファイルのエンコード (文字セット) を指定します。 XML 組み込み関数はこのオプションを無視します。 デフォルト: UTF-8

読み取り、書き込み

ignoreSurroundingSpaces

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

読み取り

rowValidationXSDPath

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

読み取り

ignoreNamespace

trueの場合、XML 要素および属性の名前空間の接頭辞は無視されます。たとえば、タグ<abc:author><def:author>は、両方とも単なる<author>であるかのように扱われます。 名前空間は rowTag 要素では無視できず、その読み取られた子要素のみを無視します。 XML 構文解析は、 falseであっても名前空間を認識しません。 デフォルト: false

読み取り

timestampFormat

日時パターン形式に従うカスタム タイムスタンプ形式文字列。 これは timestamp タイプに適用されます。 デフォルト: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

読み取り、書き込み

timestampNTZFormat

日時パターン形式に従うタイムゾーンなしのタイムスタンプのカスタム形式文字列。 これは、TimestampNTZType 型に適用されます。 デフォルト: yyyy-MM-dd'T'HH:mm:ss[.SSS]

読み取り、書き込み

dateFormat

日時パターン形式に従うカスタム日付形式文字列。 これは日付型に適用されます。 デフォルト: 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', and 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サービスが作成されるリージョン。

デフォルト値:Databricks Runtime 9.0以降では、EC2インスタンスのリージョン。Databricks Runtime 8.4以前では、リージョンを指定する必要があります。

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サービスを設定する代わりに、このキューからのイベントを消費します。

デフォルト値: なし