cloudFiles
ソースに固有の構成オプションには、他の構造化ストリーミングソースオプションとは別の名前空間に存在するように、 cloudFiles
プレフィックスが付けられます。
一般的な Auto Loader オプション
Auto Loaderストリームに対して次のオプションを構成できます。
オプション |
---|
cloudFiles.allowOverwrites
タイプ: Boolean 入力ディレクトリファイルの変更が既存のデータを上書きすることを許可するかどうか。 構成に関する注意事項については、「 ファイルが追加または上書きされた場合、 Auto Loader はファイルを再度処理しますか?」を参照してください。 デフォルト: false |
cloudFiles.backfillInterval
タイプ: Interval String Auto Loader 、特定の間隔で非同期バックフィルをトリガーできます。 たとえば、毎日バックフィルするように 1 day したり、毎週バックフィルするように 1 week します。詳細については、「 cloudFiles.backfillInterval を使用して定期的なバックフィルをトリガーする」を参照してください。 cloudFiles.useManagedFileEvents がtrue に設定されている場合は使用しないでください。
デフォルト: なし |
cloudFiles.cleanSource
タイプ: String 処理されたファイルを入力ディレクトリから自動的に削除するかどうか。OFF (デフォルト) に設定すると、ファイルは削除されません。 DELETE に設定すると、Auto Loader はファイルが処理されてから 30 日後に自動的に削除されます。これを行うには、 Auto Loader ソース ディレクトリへの書き込みアクセス許可を持っている必要があります。
「 MOVE 」に設定すると、 Auto Loader は、ファイルが処理されてから cloudFiles.cleanSource.moveDestination 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 は、現在の設定を使用して、特定のファイル MOVE か DELETE かを決定します。たとえば、ファイルが最初に処理されたときに設定が 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.moveDestination
タイプ: String 処理済みファイルをアーカイブするパス ( cloudFiles.cleanSource が MOVE に設定されている場合 移動場所は、次のように制限されます。
- ソースディレクトリの子にしないでください(これにより、アーカイブされたファイルが再度取り込まれます)
- 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 などの等価記号で結合されたキーと値のペアです。この例では、パーティション列は a 、 b 、および 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.partitionColumns を year,month,day に指定すると、file1.csv の year=2022 が返されますが、month 列と day 列はnull されます。
month と day は file2.csv と file3.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 以降で使用できます。 デフォルト: Databricks Runtime 16.4 LTS以下ではauto 、Databricks Runtime 17.0 以降ではfalse 使用可能な値:auto 、true 、 false |
ファイル通知オプション
以下のオプションは、ファイル通知モードに関連するものです。
オプション |
---|
cloudFiles.fetchParallelism
タイプ: Integer キューイングサービスからメッセージを取得するときに使用するスレッドの数。 cloudFiles.useManagedFileEvents がtrue に設定されている場合は使用しないでください。
デフォルト: 1 |
cloudFiles.pathRewrites
タイプ:JSON文字列 複数のS3バケットからファイル通知を受け取るqueueUrl を指定し、これらのコンテナ内のデータにアクセスするために設定されたマウントポイントを活用したい場合にのみ必要です。このオプションを使うと、bucket/key パスのプレフィックスをマウントポイントに書き換えます。プレフィックスのみを書き換えることができます。たとえば、構成{"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"} の場合、パスs3://<databricks-mounted-bucket>/path/2017/08/fileA.json はdbfs:/mnt/data-warehouse/2017/08/fileA.json に書き換えられます。 cloudFiles.useManagedFileEvents がtrue に設定されている場合は使用しないでください。
デフォルト: なし |
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.useManagedFileEvents がtrue に設定されている場合は使用しないでください。代わりに、クラウドプロバイダーコンソールを使用してリソースタグを設定します。
デフォルト: なし |
cloudFiles.useManagedFileEvents
プレビュー : ファイル イベントの Auto Loader サポートは パブリック プレビュー段階です。 Databricks Runtime 14.3 LTS 以降でのみ使用できます。プレビューに登録するには、Databricks アカウント チームにお問い合わせください。 「 true 」に設定すると、 Auto Loader はファイル・イベント・サービスを使用して、外部ロケーション内のファイルをディスカバーします。 このオプションを使用できるのは、ロード・パスがファイル・イベントが有効になっている外部ロケーションにある場合のみです。ファイルイベントでのファイル通知モードの使用を参照してください。 ファイル イベントは、前回の実行以降に新しいファイルを検出できるため、ファイル検出で通知レベルのパフォーマンスを提供します Auto Loader 。 ディレクトリのリストとは異なり、このプロセスではディレクトリ内のすべてのファイルをリストする必要はありません。 Auto Loader がファイルイベントオプションが有効になっているにもかかわらず、ディレクトリリストを使用する状況がいくつかあります。
- 初期ロード時に
includeExistingFiles を true に設定すると、 Auto Loader 開始前にディレクトリに存在していたすべてのファイルを検出するために、完全なディレクトリ リストが作成されます。
- ファイル・イベント・サービスは、最近作成されたファイルをキャッシュすることで、ファイル検出を最適化します。Auto Loaderの実行頻度が低い場合、このキャッシュは期限切れになり、Auto Loaderディレクトリの一覧にフォールバックしてファイルを検出し、キャッシュを更新します。このシナリオを回避するには、少なくとも 7 日ごとに Auto Loader を呼び出します。
|
cloudFiles.useNotifications
タイプ: Boolean ファイル通知モードを使用して、新しいファイルがいつ存在するかを判断するかどうか。 false の場合は、ディレクトリリストモードを使用します。Auto Loader ファイル検出モードの比較を参照してください。 cloudFiles.useManagedFileEvents がtrue に設定されている場合は使用しないでください。
デフォルト: false |
(1) Auto Loaderは、デフォルトではベストエフォートベースで次のキーと値のタグのペアを追加します。
vendor
: Databricks
path
: データが読み込まれる場所。ラベル付けの制限のため、GCPでは使用できません。
checkpointLocation
: ストリームのチェックポイントの場所。ラベル付けの制限により、GCP では使用できません。
streamId
: ストリームのグローバル一意識別子。
これらのキー名は予約されており、その値を上書きすることはできません。
ファイル形式オプション
Auto Loaderを使用すると、JSON
、CSV
、PARQUET
、AVRO
、TEXT
、BINARYFILE
、および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は false 、COPY 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 年(レガシー)で。fileNamePattern は read_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レコードに関する情報を記録するためのファイルを保存するパス。
ファイルベースのデータソースで badRecordsPath
オプションを使用するには、いくつかの重要な制限があることに注意してください。
- 非トランザクションであるため、一貫性のない結果につながる可能性があります。
- 一時的なエラーはエラーとして扱われます。
デフォルト値: なし
| columnNameOfCorruptRecord
タイプ: String
形式が正しくなく、解析できないレコードを格納するための列。解析用のmode
DROPMALFORMED
に設定されている場合、この列は空になります。
デフォルト値: _corrupt_record
|
| dateFormat
タイプ: String
日付文字列を解析するための形式。
デフォルト値: yyyy-MM-dd
|
| dropFieldIfAllNull
タイプ: Boolean
スキーマ推論中に、すべてのNULL値の列、または空の配列および構造体を無視するかどうか。
デフォルト値: false
|
| encoding
または charset
タイプ: String
JSONファイルのエンコーディングの名前。オプションのリストについては、java.nio.charset.Charset
を参照してください。multiline
がtrue
の場合は、UTF-16
とUTF-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 を使用することをお勧めします。
デフォルト値: None |
| singleVariantColumn
タイプ: String
JSON ドキュメント全体を取り込むかどうか。列の名前として指定された文字列を持つ 1 つの Variant 列に解析されます。 無効にすると、JSON フィールドは独自の列に取り込まれます。
デフォルト値: None |
| timestampFormat
タイプ: String
タイムスタンプ文字列を解析するための形式。
デフォルト値: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
|
| timeZone
タイプ: String
タイムスタンプと日付を解析するときに使用するjava.time.ZoneId
。
デフォルト値: None |
CSV
オプション
オプション |
---|
badRecordsPath タイプ: String 不正なCSVレコードに関する情報を記録するファイルを保存するパス。 デフォルト値: なし
|
charToEscapeQuoteEscaping タイプ: Char 引用符のエスケープに使用される文字をエスケープするために使用される文字。たとえば、次のレコードの場合:[ " a\\", b ] - '\' をエスケープする文字が未定義の場合、レコードは解析されません。パーサーは characters: [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 を参照してください。multiline が true の場合、 UTF-16 と UTF-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
| ファイルに保存するときに使用する圧縮コード。 これは、大文字と小文字を区別しない既知の短縮名(none 、 bzip2 、 gzip 、lz4 、 snappy 、および deflate ).XML 組み込み関数はこのオプションを無視します。 デフォルト: none 。 | 書き込み |
validateName
| true の場合、XML 要素名の検証エラーでエラーをスローします。 たとえば、SQL フィールド名にはスペースを含めることができますが、XML 要素名にスペースを含めることはできません。 デフォルト: true . | 書き込み |
readerCaseSensitive
| rescuedDataColumn が有効な場合の大文字と小文字の区別動作を指定します。 true の場合、名前がスキーマと大文字と小文字で異なるデータ列をレスキューします。それ以外の場合は、大文字と小文字を区別しない方法でデータを読み取ります。 デフォルト: true 。 | 読み取り |
rescuedDataColumn
| データ型の不一致とスキーマの不一致 (列の大文字と小文字の区別を含む) が原因で解析できないすべてのデータを別の列に収集するかどうか。この列は、 Auto Loaderを使用する場合にデフォルトに含まれます。 詳細については、「 レスキューされたデータ列とは」を参照してください。 COPY INTO (legacy) は、 COPY INTO を使用してスキーマを手動で設定できないため、レスキューされたデータ列をサポートしていません。Databricks ほとんどのインジェスト シナリオで Auto Loader を使用することをお勧めします。 デフォルト: なし。 | 読み取り |
singleVariantColumn
| 1 つのバリアント列の名前を指定します。このオプションが読み取り用に指定されている場合は、XML レコード全体を解析して、指定されたオプション文字列値を列の名前として 1 つの Variant 列にします。このオプションが書き込み用に提供されている場合は、1 つの Variant 列の値を XML ファイルに書き込みます。デフォルト: none 。 | 読み取り、書き込み |
PARQUET
オプション
オプション |
---|
datetimeRebaseMode タイプ: String ユリウス暦と先発グレゴリオ暦の間の DATE 値と TIMESTAMP 値のリベースを制御します。 使用できる値: EXCEPTION 、 LEGACY 、および CORRECTED . デフォルト値 LEGACY
|
int96RebaseMode タイプ: String ユリウス暦と先発グレゴリオ暦の間の INT96 タイムスタンプ値のリベースを制御します。 使用できる値: EXCEPTION 、 LEGACY 、および 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 値のリベースを制御します。 使用できる値: EXCEPTION 、 LEGACY 、および 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.1 以降で使用できます。 デフォルト: なし |
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.1 以降で使用できます。 デフォルト: なし |
Databricks サービス資格情報を使用できない場合は、代わりに次の認証オプションを指定できます。
オプション |
---|
cloudFiles.clientId
タイプ: String サービスプリンシパルのクライアントIDまたはアプリケーションID。 デフォルト: なし |
cloudFiles.clientSecret
タイプ: String サービスプリンシパルのクライアントシークレット。 デフォルト: なし |
cloudFiles.connectionString
タイプ: String アカウントアクセスキーあるいは共有アクセス署名(SAS)に基づく、ストレージアカウントの接続文字列。 デフォルト: なし |
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 サービスと 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.1 以降で使用できます。 デフォルト: なし |
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サービスを設定する代わりに、このキューからのイベントを消費します。 デフォルト: なし |