复制到
适用于:砖的SQL砖运行时
将数据从文件位置加载到三角洲表。这是一个retriable和幂等operation-files已经加载的源位置跳过。有关示例,请参见常见的数据加载模式使用副本。
语法
从{复制到target_table source_clause |(从source_clause选择expression_list)} FILEFORMAT = data_source[验证[所有| num_rows行]][文件= (file_name [,……])|模式= glob_pattern] [FORMAT_OPTIONS ({data_source_reader_option =价值},……])][COPY_OPTIONS ({copy_option =价值},…])]源_clause source [ WITH ( [ CREDENTIAL { credential_name | (temporary_credential_options) } ] [ ENCRYPTION (encryption_options) ] ) ]
参数
识别现有的差值表。的target_table必须不包括时间规范。
如果表名称的形式提供了一个位置,如:
delta. /道路/ /表的
、统一目录管理可以访问的位置被写入。你可以写一个外部位置:定义位置作为外部位置和拥有
写文件
权限,外部的位置。有
写文件
命名存储凭证,提供授权权限写入一个位置使用:复制成delta. /一些/位置的与(证书<命名凭据>)
看到管理外部位置和存储凭证为更多的细节。
源
加载的数据文件位置。文件在这个位置必须在指定的格式
FILEFORMAT
。位置是一个URI的形式提供的。访问源位置可以提供:
可选的名字证书用于访问存储位置或写。你用这个证书只有在文件不包括在一个位置外部位置。
内联临时凭证。
定义源位置作为外部位置和拥有
读文件
外部位置通过统一目录的权限。使用一个命名存储凭证
读文件
权限,提供授权阅读从一个位置到统一目录。
你不需要提供内联或命名凭据如果路径已经定义为外部位置有权限使用。看到管理外部位置和存储凭证为更多的细节。
请注意
如果源文件路径是一个根路径,请添加一个斜杠(
/
)的文件路径,例如,s3: / /桶/
。接受凭证选项:
AWS_ACCESS_KEY
,AWS_SECRET_KEY
,AWS_SESSION_TOKEN
在AWS S3AZURE_SAS_TOKEN
ADLS Gen2和Azure Blob存储
接受加密选项:
类型=“AWS_SSE_C”
,MASTER_KEY
在AWS S3
看到加载数据用拷贝到临时凭证。
选择expression_list
选择指定的列或表达式之前从源数据复制到三角洲表中。你使用的表达式可以是任何东西
选择
报表,包括窗口操作。你只可以使用聚合表达式为全球aggregates-you不能集团通过
列上的语法。FILEFORMAT = data_source
加载源文件的格式。之一
CSV
,JSON
,AVRO
,兽人
,拼花
,文本
,BINARYFILE
。验证
适用于:砖的SQL砖运行时10.3及以上
被加载到一个表的数据是验证但不是写入表中。这些验证包括:
是否可以解析数据。
表的模式匹配,或者是否需要进化的模式。
是否所有nullability和检查约束。
默认是验证所有数据的加载。您可以提供一个被认可的的行数
行
关键字,如验证15行
。的复制成
语句返回的预览数据50行或更少,当使用小于50的数量行
关键字)。文件
一个文件名列表加载,长度达1000。不能指定
模式
。模式
一团模式识别源目录的文件加载。不能指定
文件
。模式
描述
吗?
匹配任何单个的字符
*
匹配零个或多个字符
(美国广播公司)
匹配一个字符的字符集{a, b, c}。
的[a -ž]
匹配一个字符的字符范围{…z}。
(^)
匹配一个字符不是字符集或距离{}。请注意,
^
字符必须立即出现右边的支架。{ab、cd}
匹配字符串的字符串集{ab、cd}。
{ab, c{德,跳频}}
匹配字符串的字符串集{ab, cde, cfh}。
FORMAT_OPTIONS
选项传递到Apache火花数据源读者为指定的格式。看到格式选项为每个文件格式。
COPY_OPTIONS
选择控制的操作
复制成
命令。力
:布尔,默认假
。如果设置为真正的
禁用,幂等性和文件加载不管他们之前已经加载。mergeSchema
:布尔,默认假
。如果设置为真正的
,可以进化模式根据传入的数据。
同时调用拷贝到
复制成
支持并发调用相同的表。只要复制成
同时在调用截然不同的组输入文件,每次调用最终会成功,否则你会得到一个事务冲突。复制成
不应调用并发来提高性能;一个单一的复制成
命令有多个文件通常执行比并发运行复制成
命令与单个文件。复制成
可以同时调用时:
多个数据生产者没有一个简单的方法来协调,不能让一个调用。
当一个非常大的目录可摄入子目录的子目录。当摄入与大量的目录文件,砖推荐使用自动加载程序在可能的情况下。
访问文件元数据
学习如何访问元数据文件的数据来源,明白了文件元数据列。
格式选项
通用选项
以下选项适用于所有文件格式。
选项 |
---|
ignoreCorruptFiles 类型: 是否忽略腐败文件。如果这是真的,火花的工作将继续运行,当遇到损坏文件和已读过的内容仍将返回。可见, 默认值: |
ignoreMissingFiles 类型: 是否忽略丢失的文件。如果这是真的,火花的工作将继续运行,当遇到丢失的文件和内容阅读仍将返回。在砖运行时11.0及以上。 默认值: |
modifiedAfter 类型: 一个可选的时间戳来摄取文件修改时间戳后提供时间戳。 默认值:无 |
modifiedBefore 类型: 一个可选的时间戳来摄取文件修改时间戳之前提供的时间戳。 默认值:无 |
pathGlobFilter或fileNamePattern 类型: 一个潜在的水珠模式提供选择文件。相当于 默认值:无 |
recursiveFileLookup 类型: 是否加载数据基地内递归目录和跳过分区推断。 默认值: |
JSON
选项
选项 |
---|
allowBackslashEscapingAnyCharacter 类型: 是否允许反斜杠转义字符的任何成功。如果未启用,只有那些显式列出字符由JSON规范可以逃脱。 默认值: |
allowComments 类型: 是否允许使用Java, C和c++风格的评论( 默认值: |
allowNonNumericNumbers 类型: 是否允许的集合不是一个数字( 默认值: |
allowNumericLeadingZeros 类型: 是否允许积分数字开始额外(循环)0(例如,000001)。 默认值: |
allowSingleQuotes 类型: 是否允许使用单引号(撇号,性格 默认值: |
allowUnquotedControlChars 类型: 是否允许JSON字符串包含保有的控制字符(ASCII字符值小于32,包括选项卡并换行字符)。 默认值: |
allowUnquotedFieldNames 类型: 是否允许使用非挂牌字段名称(允许JavaScript,但不是通过JSON规范)。 默认值: |
badRecordsPath 类型: 存储文件的路径记录坏JSON的信息记录。 默认值:无 |
columnNameOfCorruptRecord 类型: 列存储记录,是畸形的,不能被解析。如果 默认值: |
dateFormat 类型: 解析日期的格式字符串。 默认值: |
dropFieldIfAllNull 类型: 是否要忽略所有空值的列或空数组和结构体在模式推理。 默认值: |
编码或字符集 类型: JSON编码的文件的名称。看到 默认值: |
inferTimestamp 类型: 是否尝试推断作为时间戳字符串 默认值: |
lineSep 类型: 两个连续的JSON记录之间的字符串。 默认值:没有,涵盖 |
语言环境 类型: 一个 默认值: |
模式 类型: 解析器模式在处理畸形的记录。之一 默认值: |
多行 类型: JSON记录是否跨越多个行。 默认值: |
prefersDecimal 类型: 试图推断出字符串 默认值: |
primitivesAsString 类型: 是否要推断数字和布尔值等基本类型 默认值: |
rescuedDataColumn 类型: 是否收集所有的数据不能被解析由于模式数据类型不匹配或不匹配(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。有关更多细节,请参考获救的数据列是什么?。 默认值:无 |
timestampFormat 类型: 解析时间戳的格式字符串。 默认值: |
时区 类型: 的 默认值:无 |
CSV
选项
选项 |
---|
badRecordsPath 类型: 存储文件的路径记录坏CSV信息记录。 默认值:无 |
charToEscapeQuoteEscaping 类型: 使用的用来逃避字符转义引号。例如,对于以下记录:
默认值: |
columnNameOfCorruptRecord 类型: 一列来存储记录畸形,不能被解析。如果 默认值: |
评论 类型: 定义了字符代表一行评论时发现一行文本的开始。使用 默认值: |
dateFormat 类型: 解析日期的格式字符串。 默认值: |
emptyValue 类型: 空值的字符串表示。 默认值: |
编码或字符集 类型: CSV文件的编码的名称。看到 默认值: |
enforceSchema 类型: 是否强行指定或推断模式应用到CSV文件。如果启用了选择,CSV文件的标题将被忽略。这个选项默认是忽略了在使用自动加载程序来拯救数据并允许模式演化。 默认值: |
逃避 类型: 解析数据时使用的转义字符。 默认值: |
头 类型: CSV文件是否包含一个头。自动加载程序假设推断模式时文件头。 默认值: |
ignoreLeadingWhiteSpace 类型: 是否忽略主要空白每个解析值。 默认值: |
ignoreTrailingWhiteSpace 类型: 是否忽略尾随的空格为每个解析值。 默认值: |
inferSchema 类型: 是否来推断的数据类型解析CSV或假设所有列的记录 默认值: |
lineSep 类型: 两个连续的CSV记录之间的字符串。 默认值:没有,涵盖 |
语言环境 类型: 一个 默认值: |
maxCharsPerColumn 类型: 最大数量的角色期望从一个值来解析。可以用来避免内存错误。默认为 默认值: |
maxColumns 类型: 有多少列的硬限制记录。 默认值: |
mergeSchema 类型: 是否来推断模式跨多个文件和每个文件的合并模式。默认启用推断模式时自动加载程序。 默认值: |
模式 类型: 解析器模式在处理畸形的记录。之一 默认值: |
多行 类型: CSV档案是否跨越多个行。 默认值: |
nanValue 类型: 当解析non-a-number值的字符串表示 默认值: |
negativeInf 类型: 当解析的字符串表示负无穷 默认值: |
nullValue 类型: 空值的字符串表示。 默认值: |
parserCaseSensitive(弃用) 类型: 在阅读文件,是否对齐列的标题模式中声明的情况下敏感。这是 默认值: |
positiveInf 类型: 当解析的字符串表示正无穷 默认值: |
preferDate 类型: 试图推断出字符串作为日期的时间戳。您还必须使用模式推理,通过启用 默认值: |
报价 类型: 使用的字符转义值字段分隔符的值。 默认值: |
readerCaseSensitive 类型: 当指定大小写敏感性行为 默认值: |
rescuedDataColumn 类型: 是否收集所有数据不能被解析由于:一个数据类型不匹配,不匹配和模式(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。更多细节请参考获救的数据列是什么?。 默认值:无 |
9月或分隔符 类型: 列之间的分隔符字符串。 默认值: |
skipRows 类型: 的行数从一开始就应该被忽略的CSV文件(包括注释和空行)。如果 默认值: |
timestampFormat 类型: 解析时间戳的格式字符串。 默认值: |
时区 类型: 的 默认值:无 |
unescapedQuoteHandling 类型: 策略来处理非转义引号。允许选择:
默认值: |
拼花
选项
选项 |
---|
datetimeRebaseMode 类型: 控制变基之间的日期和时间戳值朱利安和预期的公历日历。允许的值: 默认值: |
int96RebaseMode 类型: 控制的变基INT96时间戳值之间朱利安和预期的公历日历。允许的值: 默认值: |
mergeSchema 类型: 是否来推断模式跨多个文件和每个文件的合并模式。 默认值: |
readerCaseSensitive 类型: 当指定大小写敏感性行为 默认值: |
rescuedDataColumn 类型: 是否收集所有数据不能被解析由于:一个数据类型不匹配,不匹配和模式(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。更多细节请参考获救的数据列是什么?。 默认值:无 |
AVRO
选项
选项 |
---|
avroSchema 类型: Avro格式的用户提供的可选模式。阅读Avro时,这个选项可以设置为一种进化模式,这是兼容与实际Avro但是不同的模式。反序列化的模式将与进化模式一致。例如,如果您设置一个进化模式包含一个额外的列的默认值,读取结果将包含新列。 默认值:无 |
datetimeRebaseMode 类型: 控制变基之间的日期和时间戳值朱利安和预期的公历日历。允许的值: 默认值: |
mergeSchema 类型: 是否来推断模式跨多个文件和每个文件的合并模式。 默认值: |
readerCaseSensitive 类型: 当指定大小写敏感性行为 默认值: |
rescuedDataColumn 类型: 是否收集所有数据不能被解析由于:一个数据类型不匹配,不匹配和模式(包括列套管)到一个单独的列中。这一列包含在默认情况下使用时自动加载程序。更多细节请参考获救的数据列是什么?。 默认值:无 |
BINARYFILE
选项
二进制文件没有任何额外的配置选项。
文本
选项
选项 |
---|
编码 类型: 文本文件的编码的名称。看到 默认值: |
lineSep 类型: 两个连续的文本记录之间的字符串。 默认值:没有,涵盖 |
wholeText 类型: 是否要读取一个文件作为一个单独的记录。 默认值: |
兽人
选项
选项 |
---|
mergeSchema 类型: 是否来推断模式跨多个文件和每个文件的合并模式。 默认值: |