メインコンテンツまでスキップ

Auto Loader オプション

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

一般的な Auto Loader オプション

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

オプション

cloudFiles.allowOverwrites

タイプ: Boolean

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

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

デフォルト: false

cloudFiles.backfillInterval

タイプ: Interval String

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

デフォルト: なし

cloudFiles.cleanSource

タイプ: String

処理されたファイルを入力ディレクトリから自動的に削除するかどうか。OFF (デフォルト) に設定すると、ファイルは削除されません。

DELETEに設定すると、Auto Loader はファイルが処理されてから 30 日後に自動的に削除されます。これを行うには、 Auto Loader ソース ディレクトリへの書き込みアクセス許可を持っている必要があります。

MOVE」に設定すると、 Auto Loader は、ファイルが処理されてから cloudFiles.cleanSource.moveLocation 30 日以内に、指定した場所にファイルを自動的に移動します。 これを行うには、 Auto Loader ソース ディレクトリと移動場所への書き込みアクセス許可が必要です。

ファイルは、cloud_files_state table valued 関数の結果で commit_time に null 以外の値がある場合に処理済みと見なされます。cloud_files_stateテーブル値関数を参照してください。処理後 30 日間の追加待機時間は、 cloudFiles.cleanSource.retentionDurationを使用して構成できます。

注: ソースの場所から複数のストリームを消費するデータがある場合は Databricks 、最も速いコンシューマーがファイルを削除し、より遅いソースにはファイルが取り込まれないため、このオプションを使用することはお勧めしません。

注: この機能を有効にするには、 Auto Loader チェックポイントで追加の状態を維持する必要があり、パフォーマンスのオーバーヘッドが発生しますが、 cloud_files_state table valued 関数によって監視性が向上します。 cloud_files_stateテーブル値関数を参照してください。

注: cleanSource は、現在の設定を使用して、特定のファイル MOVEDELETE かを決定します。たとえば、ファイルが最初に処理されたときに設定が MOVE され、30 日後にファイルがクリーンアップの候補になったときに DELETE に変更されたとします。この場合、cleanSourceはファイルを削除します。

Databricks Runtime 16.4 以降で使用できます。

デフォルト: OFF

cloudFiles.cleanSource.retentionDuration

タイプ: Interval String

処理されたファイルが cleanSourceによるアーカイブの候補になるまでの待機時間。DELETEは 7 日以上である必要があります。MOVEの最小制限はありません。

Databricks Runtime 16.4 以降で使用できます。

デフォルト値: 30 日

cloudFiles.cleanSource.moveLocation

タイプ: String

処理済みファイルをアーカイブするパス ( cloudFiles.cleanSourceMOVEに設定されている場合

移動場所は、次のように制限されます。

  • ソースディレクトリの子にしないでください(これにより、アーカイブされたファイルが再度取り込まれます)
  • S3 : 同じ S3 バケット内のディレクトリである必要があります。バケットをまたいだ移動では、ファイルをダウンロードして新しいバケットに再アップロードする必要がありますが、これにはコストがかかる場合があります。
  • GCS : 同じ GCS バケット内のディレクトリである必要があります。バケットをまたいだ移動では、ファイルをダウンロードして新しいバケットに再アップロードする必要がありますが、これにはコストがかかる場合があります。
  • Azure : 同じ Azure コンテナー内のディレクトリである必要があります。コンテナ間の移動では、ファイルをダウンロードして新しいコンテナに再アップロードする必要があり、コストがかかる場合があります。

Auto Loader このディレクトリへの書き込み権限が必要です。

Databricks Runtime 16.4 以降で使用できます。

デフォルト値: なし

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.csvyear=2022 が返されますが、month 列と day 列は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 データレイク Storage (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は、デフォルトではベストエフォートベースで次のキーと値のタグのペアを追加します。

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

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

ファイル形式オプション

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

汎用オプション

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

オプション

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

ignoreMissingFiles タイプ: Boolean 見つからないファイルを無視するかどうか。 true の場合、不足しているファイルが検出されても Spark ジョブは引き続き実行され、読み取られた内容は引き続き返されます。 Databricks Runtime 11.3 LTS 以降で使用できます。 デフォルトの値: Auto Loaderは falseCOPY INTO (レガシ) は true

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 INTO年(レガシー)で。fileNamePatternread_filesで使用できます。 デフォルト値: なし

recursiveFileLookup タイプ: Boolean このオプションは、ネストされたディレクトリの名前が date=2019-07-01 のようなパーティション命名スキームに従っていない場合でも、ネストされたディレクトリを検索します。 デフォルト値 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'の 1 つ、 '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 データ型の不一致またはスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。 この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、 レスキューされたデータ列とはを参照してください。 COPY INTO (legacy) は、 COPY INTOを使用してスキーマを手動で設定できないため、レスキューされたデータ列をサポートしていません。Databricks ほとんどのインジェスト シナリオで 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] を読み込んでエラーを投げます。終了引用符が見つからないからです。 - '\' をエスケープする文字が '\'と定義されている場合、レコードは [a\][b]の 2 つの値で読み取られます。 デフォルト値 '\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'の 1 つ、 '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 を有効にするか、 cloudFiles.inferColumnTypes Auto Loaderで。 デフォルト値 true

quote タイプ: Char フィールド区切り文字が値の一部である場合に、値をエスケープするために使用される文字。 デフォルト値 "

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

rescuedDataColumn タイプ: String データ型の不一致、およびスキーマの不一致 (列の大文字と小文字の区別を含む) が別の列に一致しているため、解析できないすべてのデータを収集するかどうか。 この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。 COPY INTO (legacy) は、 COPY INTOを使用してスキーマを手動で設定できないため、レスキューされたデータ列をサポートしていません。Databricks ほとんどのインジェスト シナリオで 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の場合、結果の各 データフレーム 列に対して適切な型を推論しようとします。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を使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。 COPY INTO (legacy) は、 COPY INTOを使用してスキーマを手動で設定できないため、レスキューされたデータ列をサポートしていません。Databricks ほとんどのインジェスト シナリオで 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を使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。 COPY INTO (legacy) は、 COPY INTOを使用してスキーマを手動で設定できないため、レスキューされたデータ列をサポートしていません。Databricks ほとんどのインジェスト シナリオで Auto Loader を使用することをお勧めします。 デフォルト値: なし

AVRO オプション

オプション

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

datetimeRebaseMode タイプ: String ユリウス暦と先発グレゴリオ暦の間の DATE 値と TIMESTAMP 値のリベースを制御します。 使用できる値: EXCEPTIONLEGACY、および CORRECTED. デフォルト値 LEGACY

mergeSchema タイプ: Boolean 複数ファイルからスキーマを推定し、各ファイルのスキーマをマージするかどうか。 mergeSchema Avro はデータ型を緩和しません。 デフォルト値 false

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

rescuedDataColumn タイプ: String データ型の不一致、スキーマの不一致(列の大文字と小文字の区別を含む)が原因で解析できないすべてのデータを別の列に収集するかどうか。Auto Loaderを使用する場合、この列はデフォルトで含まれます。 COPY INTO (legacy) は、 COPY INTOを使用してスキーマを手動で設定できないため、レスキューされたデータ列をサポートしていません。Databricks ほとんどのインジェスト シナリオで 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サービスをセットアップする代わりに、このキューから直接イベントを消費します。

デフォルト: なし

AWS 認証オプション

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

オプション

databricks.serviceCredential

タイプ: String

Databricks サービスの資格情報の名前。Databricks Runtime 16.2 以降で使用できます。

デフォルト: なし

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

オプション

cloudFiles.awsAccessKey

タイプ: String

ユーザーのAWSアクセスキーID。cloudFiles.awsSecretKeyを提供する必要があります。

デフォルト: なし

cloudFiles.awsSecretKey

タイプ: String

ユーザーのAWSシークレットアクセスキー。cloudFiles.awsAccessKeyを提供する必要があります。

デフォルト: なし

cloudFiles.roleArn

タイプ: String

ARNIAM必要に応じて引き受ける ロールの 。このロールは、クラスターのインスタンスプロファイルから、または 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.resourceGroup

タイプ: String

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

デフォルト: なし

cloudFiles.subscriptionId

タイプ: String

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

デフォルト: なし

databricks.serviceCredential

タイプ: String

Databricks サービスの資格情報の名前。Databricks Runtime 16.2 以降で使用できます。

デフォルト: なし

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

オプション

cloudFiles.clientId

タイプ: String

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

デフォルト: なし

cloudFiles.clientSecret

タイプ: String

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

デフォルト: なし

cloudFiles.connectionString

タイプ: String

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

デフォルト: なし

cloudFiles.tenantId

タイプ: String

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

デフォルト: なし

important

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

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

オプション

cloudFiles.queueName

タイプ: String

Azure キューの名前。 指定した場合、クラウド ファイル ソースは、独自の Azure Event Grid サービスと Queue Storage サービスを設定する代わりに、このキューからイベントを直接使用します。 その場合、 databricks.serviceCredential または cloudFiles.connectionString には、キューに対する読み取りアクセス許可のみが必要です。

デフォルト: なし

Google 固有のオプション

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

オプション

cloudFiles.projectId

タイプ: String

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

デフォルト: なし

databricks.serviceCredential

タイプ: String

Databricks サービスの資格情報の名前。Databricks Runtime 16.2 以降で使用できます。

デフォルト: なし

Databricks サービスの認証情報を利用できない場合は、Google サービス アカウントを直接使用できます。Google サービスのセットアップに従って、クラスターをサービス アカウントとして構成するか、次の認証オプションを直接提供することができます。

オプション

cloudFiles.client

タイプ: String

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

デフォルト: なし

cloudFiles.clientEmail

タイプ: String

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

デフォルト: なし

cloudFiles.privateKey

タイプ: String

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

デフォルト: なし

cloudFiles.privateKeyId

タイプ: String

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

デフォルト: なし

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

オプション

cloudFiles.subscription

タイプ: String

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

デフォルト: なし