自动加载程序选项

配置选项的cloudFiles源是前缀cloudFiles所以他们在一个单独的名称空间从其他结构化流源选项。

常见的自动加载程序选项

您可以配置以下选项或文件目录清单通知模式。

选项

cloudFiles.allowOverwrites

类型:布尔

是否允许输入目录文件更改覆盖现有的数据。在砖运行时7.6及以上。

默认值:

cloudFiles.backfillInterval

类型:时间间隔字符串

自动装载器可以在一个给定的时间间隔触发异步回填,如。1一天回填一天一次,或1回填一周一次。文件事件通知系统并不能保证100%交付的所有文件上传,所以您可以使用回填最终处理,保证所有文件中可用砖运行时的8.4(不支持)及以上。如果使用增量清单,您还可以使用常规回填保证最终的完整性,可用砖运行时9.1 LTS及以上。

默认值:无

cloudFiles.format

类型:字符串

数据文件格式在源路径中。允许的值包括:

默认值:无(所需选项)

cloudFiles.includeExistingFiles

类型:布尔

是否在流处理的输入包括现有的文件路径或只处理新文件初始设置后到达。评估这个选项只有当你开始为第一次流。改变这个选项后重启流没有影响。

默认值:真正的

cloudFiles.inferColumnTypes

类型:布尔

是否当利用模式推理推断出准确的列类型。默认情况下,列是推断作为字符串当推断JSON和CSV数据集。看到模式推理为更多的细节。

默认值:

cloudFiles.maxBytesPerTrigger

类型:字节字符串

新处理字节的最大数量在每一个触发器。您可以指定一个字节字符串等10克限制每个microbatch 10 GB的数据。这是一个软最大。如果你有文件3 GB,砖过程microbatch 12 GB。一起使用时cloudFiles.maxFilesPerTrigger,砖消耗的下限cloudFiles.maxFilesPerTriggercloudFiles.maxBytesPerTrigger,首先达到哪个。这个选项一起使用时没有影响Trigger.Once ()(弃用)。

默认值:无

cloudFiles.maxFileAge

类型:时间间隔字符串

多长时间重复数据删除的文件事件跟踪目的。砖不建议调整该参数除非你摄入数据顺序的数以百万计的文件一个小时。上看到的部分事件保留为更多的细节。

默认值:无

cloudFiles.maxFilesPerTrigger

类型:整数

处理新文件的最大数量在每一个触发器。一起使用时cloudFiles.maxBytesPerTrigger,砖消耗的下限cloudFiles.maxFilesPerTriggercloudFiles.maxBytesPerTrigger,首先达到哪个。这个选项一起使用时没有影响Trigger.Once ()(弃用)。

默认值:1000

cloudFiles.partitionColumns

类型:字符串

蜂巢的逗号分隔列表样式分区列你想从文件的目录结构推断。蜂巢式分区列是键值对组合等一个平等的迹象<基本路径> / = x / b = 1 / c = y / file.format。在这个例子中,分区列一个,b,c。默认情况下,这些列将自动添加到您的模式如果使用模式推理并提供<基本路径>加载数据。如果你提供了一个模式,自动加载程序预计这些列将包含在模式。如果你不想要这些列作为模式的一部分,您可以指定”“忽略这些列。此外,您可以使用这个选项,当你想要列推断复杂的目录结构的文件路径,像下面的例子:

<基本路径> /年= 2022 /周= 1 / file1.csv<基本路径> /年= 2022 /月= 2 /天= 3 / file2.csv<基本路径> /年= 2022 /月= 2 /天= 4 / file3.csv

指定cloudFiles.partitionColumns作为年、月、日将返回年= 2022file1.csv,但一天列会一天将解析正确吗file2.csvfile3.csv

默认值:无

cloudFiles.schemaEvolutionMode

类型:字符串

发展模式的模式中发现新列数据。默认情况下,列是推断作为字符串当推断JSON数据集。看到模式演化为更多的细节。

默认值:“addNewColumns”当一个模式没有提供。“没有”否则。

cloudFiles.schemaHints

类型:字符串

模式信息期间,您提供自动加载程序模式推理。看到模式提示为更多的细节。

默认值:无

cloudFiles.schemaLocation

类型:字符串

存储位置推断模式和后续更改。看到模式推理为更多的细节。

默认值:无(推断模式时需要)

cloudFiles.useStrictGlobber

类型:布尔

是否使用默认的globbing行为相匹配的严格的水珠Apache引发的其他文件来源。看到常见的数据加载模式为更多的细节。在砖运行时12.0及以上。

默认值:

cloudFiles.validateOptions

类型:布尔

是否验证自动加载程序选项并返回一个错误对于未知或不一致的选项。

默认值:真正的

目录列表选项

以下选项相关目录清单模式。

选项

cloudFiles.useIncrementalListing

类型:字符串

是否使用增量清单而不是目录清单模式下的完整清单。默认情况下,自动加载程序将自动检测最好的努力如果给定目录适用于增量清单。您可以显式地使用清单或使用增量设置它的完整的目录清单真正的分别。

使用Azure数据存储Gen2(湖abfss: / /),S3 (s3: / /)和GCS (g: / /)。

可以在砖运行时9.1 LTS及以上。

默认值:汽车

可用值:汽车,真正的,

文件通知选项

以下选项相关文件通知模式。

选项

cloudFiles.fetchParallelism

类型:整数

数量的线程从队列获取消息时使用服务。

默认值:1

cloudFiles.pathRewrites

类型:一个JSON字符串

如果你指定一个只需要queueUrl接收来自多个S3 bucket的文件通知,你想利用挂载点配置为访问数据在这些容器。使用这个选项改写的前缀桶/关键路径与挂载点。只有前缀可以重写。例如,对于配置{“< databricks-mounted-bucket > /路径”:“dbfs: / mnt /数据仓库工作”},路径s3: / / < databricks-mounted-bucket > / / 2017/08 / fileA.json路径是重写dbfs: / mnt /数据仓库工作/ 2017/08 / fileA.json

默认值:无

cloudFiles.resourceTag

类型:地图(字符串,字符串)

一系列的键-值对标签帮助联系和确定相关资源,例如:

cloudFiles.option (“cloudFiles.resourceTag.myFirstKey”,“myFirstValue”).option (“cloudFiles.resourceTag.mySecondKey”,“mySecondValue”)

AWS的更多信息,请参阅Amazon SQS成本分配标签为亚马逊SNS配置标签的话题(1)

Azure的更多信息,请参阅命名队列和元数据的报道properties.labels事件订阅。自动加载程序商店这些键-值对标签在JSON作为标签。(1)

GCP的更多信息,请参阅报告和标签使用(1)

默认值:无

cloudFiles.useNotifications

类型:布尔

是否使用文件通知模式来确定当有新的文件。如果,使用目录清单模式。看到自动加载器是如何工作的

默认值:

(1)自动加载程序添加以下力所能及默认键-值对的标签:

  • 供应商:

  • 路径:加载位置的数据。不可用GCP由于标签的局限性。

  • checkpointLocation:流的检查点的位置。不可用GCP由于标签的局限性。

  • streamId流:一个全球唯一标识符。

这些关键的名字是保留和你不能覆盖他们的价值观。

文件格式选项

使用自动加载器可以摄取JSON,CSV,拼花,AVRO,文本,BINARYFILE,兽人文件。

通用选项

以下选项适用于所有文件格式。

选项

ignoreCorruptFiles

类型:布尔

是否忽略腐败文件。如果这是真的,火花的工作将继续运行,当遇到损坏文件和已读过的内容仍将返回。可见,numSkippedCorruptFilesoperationMetrics列的三角洲湖历史。在砖运行时11.0及以上。

默认值:

ignoreMissingFiles

类型:布尔

是否忽略丢失的文件。如果这是真的,火花的工作将继续运行,当遇到丢失的文件和内容阅读仍将返回。在砖运行时11.0及以上。

默认值:(真正的复制)

modifiedAfter

类型:时间戳字符串例如,2021-01-0100:00:00.000000UTC + 0

一个可选的时间戳来摄取文件修改时间戳后提供时间戳。

默认值:无

modifiedBefore

类型:时间戳字符串例如,2021-01-0100:00:00.000000UTC + 0

一个可选的时间戳来摄取文件修改时间戳之前提供的时间戳。

默认值:无

pathGlobFilterfileNamePattern

类型:字符串

一个潜在的水珠模式提供选择文件。相当于模式复制fileNamePattern可以用在read_file

默认值:无

recursiveFileLookup

类型:布尔

是否加载数据基地内递归目录和跳过分区推断。

默认值:

JSON选项

选项

allowBackslashEscapingAnyCharacter

类型:布尔

是否允许反斜杠转义字符的任何成功。如果未启用,只有那些显式列出字符由JSON规范可以逃脱。

默认值:

allowComments

类型:布尔

是否允许使用Java, C和c++风格的评论(' / ',‘*’,' / / '品种)在解析内容。

默认值:

allowNonNumericNumbers

类型:布尔

是否允许的集合不是一个数字()令牌作为法定数量浮动值。

默认值:真正的

allowNumericLeadingZeros

类型:布尔

是否允许积分数字开始额外(循环)0(例如,000001)。

默认值:

allowSingleQuotes

类型:布尔

是否允许使用单引号(撇号,性格“\”)引用字符串(字符串名称和值)。

默认值:真正的

allowUnquotedControlChars

类型:布尔

是否允许JSON字符串包含保有的控制字符(ASCII字符值小于32,包括选项卡并换行字符)。

默认值:

allowUnquotedFieldNames

类型:布尔

是否允许使用非挂牌字段名称(允许JavaScript,但不是通过JSON规范)。

默认值:

badRecordsPath

类型:字符串

存储文件的路径记录坏JSON的信息记录。

默认值:无

columnNameOfCorruptRecord

类型:字符串

列存储记录,是畸形的,不能被解析。如果模式解析设置DROPMALFORMED,本专栏将是空的。

默认值:_corrupt_record

dateFormat

类型:字符串

解析日期的格式字符串。

默认值:yyyy-MM-dd

dropFieldIfAllNull

类型:布尔

是否要忽略所有空值的列或空数组和结构体在模式推理。

默认值:

编码字符集

类型:字符串

JSON编码的文件的名称。看到charset选项列表。你不能使用utf - 16utf - 32多行真正的

默认值:utf - 8

inferTimestamp

类型:布尔

是否尝试推断作为时间戳字符串TimestampType。当设置为真正的、模式推理明显可能需要更长时间。您必须启用cloudFiles.inferColumnTypes使用自动加载程序。

默认值:

lineSep

类型:字符串

两个连续的JSON记录之间的字符串。

默认值:没有,涵盖r \,\ r \ n,\ n

语言环境

类型:字符串

一个java.util.Locale标识符。影响默认日期、时间戳和十进制解析JSON。

默认值:我们

模式

类型:字符串

解析器模式在处理畸形的记录。之一“宽容”,“DROPMALFORMED”,或“FAILFAST”

默认值:宽容的

多行

类型:布尔

JSON记录是否跨越多个行。

默认值:

prefersDecimal

类型:布尔

试图推断出字符串DecimalType而不是浮点数和双精度类型。您还必须使用模式推理,通过启用inferSchema或使用cloudFiles.inferColumnTypes自动加载程序。

默认值:

primitivesAsString

类型:布尔

是否要推断数字和布尔值等基本类型StringType

默认值:

rescuedDataColumn

类型:字符串

是否收集所有的数据不能被解析由于模式数据类型不匹配或不匹配(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。有关更多细节,请参考获救的数据列是什么?

默认值:无

timestampFormat

类型:字符串

解析时间戳的格式字符串。

默认值:yyyy-MM-dd 'HH: mm: ss [.SSS] [XXX]

时区

类型:字符串

java.time.ZoneId解析时使用时间戳和日期。

默认值:无

CSV选项

选项

badRecordsPath

类型:字符串

存储文件的路径记录坏CSV信息记录。

默认值:无

charToEscapeQuoteEscaping

类型:字符

使用的用来逃避字符转义引号。例如,对于以下记录:(\ \ ",b]:

  • 如果字符逃离“\”未定义时,记录不会被解析。解析器会读取字符:[一],[\],["],[,],[]、[b]抛出一个错误,因为它找不到关闭报价。

  • 如果字符逃离“\”被定义为“\”记录将被读取2的值:[一个\][b]

默认值:' \ 0

columnNameOfCorruptRecord

类型:字符串

一列来存储记录畸形,不能被解析。如果模式解析设置DROPMALFORMED,本专栏将是空的。

默认值:_corrupt_record

评论

类型:字符

定义了字符代表一行评论时发现一行文本的开始。使用' \ 0禁用不发表评论。

默认值:“\ u0000”

dateFormat

类型:字符串

解析日期的格式字符串。

默认值:yyyy-MM-dd

emptyValue

类型:字符串

空值的字符串表示。

默认值:”“

编码字符集

类型:字符串

CSV文件的编码的名称。看到charset选项列表中。utf - 16utf - 32时不能使用多行真正的

默认值:utf - 8

enforceSchema

类型:布尔

是否强行指定或推断模式应用到CSV文件。如果启用了选择,CSV文件的标题将被忽略。这个选项默认是忽略了在使用自动加载程序来拯救数据并允许模式演化。

默认值:真正的

逃避

类型:字符

解析数据时使用的转义字符。

默认值:“\”

类型:布尔

CSV文件是否包含一个头。自动加载程序假设推断模式时文件头。

默认值:

ignoreLeadingWhiteSpace

类型:布尔

是否忽略主要空白每个解析值。

默认值:

ignoreTrailingWhiteSpace

类型:布尔

是否忽略尾随的空格为每个解析值。

默认值:

inferSchema

类型:布尔

是否来推断的数据类型解析CSV或假设所有列的记录StringType。需要一个额外的如果设置在数据传递给真正的。自动加载程序,使用cloudFiles.inferColumnTypes代替。

默认值:

lineSep

类型:字符串

两个连续的CSV记录之间的字符串。

默认值:没有,涵盖r \,\ r \ n,\ n

语言环境

类型:字符串

一个java.util.Locale标识符。影响默认日期、时间戳和小数解析CSV。

默认值:我们

maxCharsPerColumn

类型:Int

最大数量的角色期望从一个值来解析。可以用来避免内存错误。默认为1,这意味着无限的。

默认值:1

maxColumns

类型:Int

有多少列的硬限制记录。

默认值:20480年

mergeSchema

类型:布尔

是否来推断模式跨多个文件和每个文件的合并模式。默认启用推断模式时自动加载程序。

默认值:

模式

类型:字符串

解析器模式在处理畸形的记录。之一“宽容”,“DROPMALFORMED”,“FAILFAST”

默认值:宽容的

多行

类型:布尔

CSV档案是否跨越多个行。

默认值:

nanValue

类型:字符串

当解析non-a-number值的字符串表示FloatType倍增式列。

默认值:“南”

negativeInf

类型:字符串

当解析的字符串表示负无穷FloatType倍增式列。

默认值:“负”

nullValue

类型:字符串

空值的字符串表示。

默认值:”“

parserCaseSensitive(弃用)

类型:布尔

在阅读文件,是否对齐列的标题模式中声明的情况下敏感。这是真正的默认为自动加载程序。列情况下将获救的差异rescuedDataColumn如果启用。这个选项已经被弃用的readerCaseSensitive

默认值:

positiveInf

类型:字符串

当解析的字符串表示正无穷FloatType倍增式列。

默认值:“正”

preferDate

类型:布尔

试图推断出字符串作为日期的时间戳。您还必须使用模式推理,通过启用inferSchema或使用cloudFiles.inferColumnTypes自动加载程序。

默认值:真正的

报价

类型:字符

使用的字符转义值字段分隔符的值。

默认值:

readerCaseSensitive

类型:布尔

当指定大小写敏感性行为rescuedDataColumn启用。如果这是真的,拯救数据列的名字的情况下不同模式;否则,以不区分大小写的方式读取数据。

默认值:真正的

rescuedDataColumn

类型:字符串

是否收集所有数据不能被解析由于:一个数据类型不匹配,不匹配和模式(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。更多细节请参考获救的数据列是什么?

默认值:无

9月分隔符

类型:字符串

列之间的分隔符字符串。

默认值:”、“

skipRows

类型:Int

的行数从一开始就应该被忽略的CSV文件(包括注释和空行)。如果是真的,标题将第一unskipped和注释行。

默认值:0

timestampFormat

类型:字符串

解析时间戳的格式字符串。

默认值:yyyy-MM-dd 'HH: mm: ss [.SSS] [XXX]

时区

类型:字符串

java.time.ZoneId解析时使用时间戳和日期。

默认值:无

unescapedQuoteHandling

类型:字符串

策略来处理非转义引号。允许选择:

  • STOP_AT_CLOSING_QUOTE:如果保有的报价在输入,积累援引性格和价值进行解析的引用值,直到找到关闭报价。

  • BACK_TO_DELIMITER:如果保有的报价在输入,考虑到价值作为非上市价值。这将使当前的解析值的解析器积累所有字符直到定义的分隔符9月是发现。如果没有找到分隔符的值,解析器将继续积累从输入直到分隔符或行结束字符。

  • STOP_AT_DELIMITER:如果保有的报价在输入,考虑到价值作为非上市价值。这将使解析器积累所有字符直到定义的分隔符9月或发现一行结束输入。

  • SKIP_VALUE:输入,如果找到保有的报价的内容解析给定的值将被忽略(直到找到下一个分隔符)和价值nullValue将会产生。

  • RAISE_ERROR:输入,如果找到保有的报价TextParsingException将抛出。

默认值:STOP_AT_DELIMITER

拼花选项

选项

datetimeRebaseMode

类型:字符串

控制变基之间的日期和时间戳值朱利安和预期的公历日历。允许的值:异常,遗产,纠正

默认值:遗产

int96RebaseMode

类型:字符串

控制的变基INT96时间戳值之间朱利安和预期的公历日历。允许的值:异常,遗产,纠正

默认值:遗产

mergeSchema

类型:布尔

是否来推断模式跨多个文件和每个文件的合并模式。

默认值:

readerCaseSensitive

类型:布尔

当指定大小写敏感性行为rescuedDataColumn启用。如果这是真的,拯救数据列的名字的情况下不同模式;否则,以不区分大小写的方式读取数据。

默认值:真正的

rescuedDataColumn

类型:字符串

是否收集所有数据不能被解析由于:一个数据类型不匹配,不匹配和模式(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。更多细节请参考获救的数据列是什么?

默认值:无

AVRO选项

选项

avroSchema

类型:字符串

Avro格式的用户提供的可选模式。阅读Avro时,这个选项可以设置为一种进化模式,这是兼容与实际Avro但是不同的模式。反序列化的模式将与进化模式一致。例如,如果您设置一个进化模式包含一个额外的列的默认值,读取结果将包含新列。

默认值:无

datetimeRebaseMode

类型:字符串

控制变基之间的日期和时间戳值朱利安和预期的公历日历。允许的值:异常,遗产,纠正

默认值:遗产

mergeSchema

类型:布尔

是否来推断模式跨多个文件和每个文件的合并模式。mergeSchemaAvro不放松的数据类型。

默认值:

readerCaseSensitive

类型:布尔

当指定大小写敏感性行为rescuedDataColumn启用。如果这是真的,拯救数据列的名字的情况下不同模式;否则,以不区分大小写的方式读取数据。

默认值:真正的

rescuedDataColumn

类型:字符串

是否收集所有数据不能被解析由于:一个数据类型不匹配,不匹配和模式(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。更多细节请参考获救的数据列是什么?

默认值:无

BINARYFILE选项

二进制文件没有任何额外的配置选项。

文本选项

选项

编码

类型:字符串

文本文件的编码的名称。看到charset选项列表。

默认值:utf - 8

lineSep

类型:字符串

两个连续的文本记录之间的字符串。

默认值:没有,涵盖r \,\ r \ n\ n

wholeText

类型:布尔

是否要读取一个文件作为一个单独的记录。

默认值:

兽人选项

选项

mergeSchema

类型:布尔

是否来推断模式跨多个文件和每个文件的合并模式。

默认值:

云特定选项

自动加载器配置云基础设施的提供了许多选项。

AWS特定选项

只提供以下选项如果你选择cloudFiles.useNotifications=真正的和你想要自动加载程序设置通知为您服务:

选项

cloudFiles.region

类型:字符串

源S3 bucket所在地区和AWS SNS和SQS服务将被创建。

默认值:在砖运行时的9.0及以上的区域EC2实例。下面的砖8.4运行时,您必须指定该地区。

只提供以下选项如果你选择cloudFiles.useNotifications=真正的和你想要的汽车加载器使用一个队列,您已经设置:

选项

cloudFiles.queueUrl

类型:字符串

SQS队列的URL。如果提供,自动加载程序直接从这个队列,而不是消耗事件设立自己的AWS SNS和SQS服务。

默认值:无

您可以使用以下选项提供凭据访问AWS SNS和SQS我角色时不可用或当你摄入数据从不同的云。

选项

cloudFiles.awsAccessKey

类型:字符串

AWS访问密钥为用户ID。必须提供的cloudFiles.awsSecretKey

默认值:无

cloudFiles.awsSecretKey

类型:字符串

AWS秘密为用户访问密钥。必须提供的cloudFiles.awsAccessKey

默认值:无

cloudFiles.roleArn

类型:字符串

我的攻击角色承担。角色可以从你认为集群的实例配置文件或通过提供凭证cloudFiles.awsAccessKeycloudFiles.awsSecretKey

默认值:无

cloudFiles.roleExternalId

类型:字符串

使用一个标识符时提供假设的作用cloudFiles.roleArn

默认值:无

cloudFiles.roleSessionName

类型:字符串

假设一个角色时使用一个可选的会话名称使用cloudFiles.roleArn

默认值:无

cloudFiles.stsEndpoint

类型:字符串

一个可选的端点提供用于访问AWS STS当假设一个角色使用cloudFiles.roleArn

默认值:无

Azure特定选项

必须提供以下选项如果你指定的值cloudFiles.useNotifications=真正的和你想要自动加载程序设置通知为您服务:

选项

cloudFiles.clientId

类型:字符串

客户端服务主体的ID或应用程序ID。

默认值:无

cloudFiles.clientSecret

类型:字符串

客户端服务主体的秘密。

默认值:无

cloudFiles.connectionString

类型:字符串

连接字符串存储账户,根据帐户访问密钥或共享访问签名(SAS)。

默认值:无

cloudFiles.resourceGroup

类型:字符串

的Azure资源组存储创建帐户。

默认值:无

cloudFiles.subscriptionId

类型:字符串

的Azure订阅ID创建资源组。

默认值:无

cloudFiles.tenantId

类型:字符串

的Azure承租者ID创建服务主体。

默认值:无

重要的

自动化通知设置可以在Azure中国和政府与砖运行9.1和以后的区域。你必须提供一个queueName在这些地区使用自动加载程序文件通知老DBR版本。

只提供以下选项如果你选择cloudFiles.useNotifications=真正的和你想要的汽车加载器使用一个队列,您已经设置:

选项

cloudFiles.queueName

类型:字符串

Azure队列的名称。如果提供,云文件源直接从这个队列,而不是消耗事件设置自己的Azure事件网格和队列存储服务。在这种情况下,你的cloudFiles.connectionString只需要读取队列上的权限。

默认值:无

谷歌特定选项

自动加载程序可以自动为您设置通知服务利用谷歌服务帐户。您可以配置您的集群承担的服务帐户谷歌服务设置。你的服务帐户需要指定的权限自动加载程序文件通知模式是什么?。否则,您可以提供以下选项进行身份验证如果你想设置自动加载程序通知为您服务。

选项

cloudFiles.client

类型:字符串

Google服务的客户机ID账户。

默认值:无

cloudFiles.clientEmail

类型:字符串

谷歌的电子邮件服务帐户。

默认值:无

cloudFiles.privateKey

类型:字符串

的私钥生成的谷歌服务帐户。

默认值:无

cloudFiles.privateKeyId

类型:字符串

id的私钥生成的谷歌服务帐户。

默认值:无

cloudFiles.projectId

类型:字符串

项目的id, GCS桶。谷歌云Pub / Sub订阅也将被创建在这个项目。

默认值:无

只提供以下选项如果你选择cloudFiles.useNotifications=真正的和你想要的汽车加载器使用一个队列,您已经设置:

选项

cloudFiles.subscription

类型:字符串

谷歌云的名字发布/订阅订阅。如果提供,云文件从这个队列,而不是源消耗事件设立自己的GCS通知和谷歌云发布/订阅服务。

默认值:无