COPY INTO
Aplica-se a: Databricks SQL Databricks Runtime
Carrega dados de um local de arquivo em uma tabela Delta. Esta é uma operação reprovável e idempotente — Os arquivos no local de origem que já foram carregados são ignorados. Isso é verdade mesmo se os arquivos foram modificados desde que foram carregados. Para obter exemplos, consulte Padrões comuns de carregamento de dados usando COPY INTO.
Sintaxe
COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
FROM { source_clause |
( SELECT expression_list FROM source_clause ) }
FILEFORMAT = data_source
[ VALIDATE [ ALL | num_rows ROWS ] ]
[ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
[ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
[ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]
source_clause
source [ WITH ( [ CREDENTIAL { credential_name |
(temporary_credential_options) } ]
[ ENCRYPTION (encryption_options) ] ) ]
Parâmetros
target_table
Identifica uma tabela Delta existente. O target_table não deve incluir uma especificação temporal ou uma especificação de opções.
Se o nome da tabela for fornecido na forma de um local, como:
delta.`/path/to/table`
, o Unity Catalog poderá controlar o acesso aos locais nos quais estão sendo gravados. Você pode gravar em um local externo por:- Definir o local como um local externo e ter
WRITE FILES
permissões nesse local externo. - Ter
WRITE FILES
permissões em uma credencial de armazenamento nomeada que fornece autorização para gravar em um local usando:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Consulte Conectar-se ao armazenamento e serviços de objetos na nuvem usando o Unity Catalog para obter mais detalhes.
- Definir o local como um local externo e ter
BY POSITION
| ( col_name [ , <col_name> ... ] )Faz a correspondência entre as colunas de origem e as colunas da tabela de destino por posição ordinal. A conversão de tipo das colunas correspondentes é feita automaticamente.
Este parâmetro só é suportado para o formato de arquivo CSV sem cabeçalho. Você deve especificar
FILEFORMAT = CSV
.FORMAT_OPTIONS
também deve ser definido como("headers" = "false")
(FORMAT_OPTIONS ("headers" = "false")
é o padrão).Sintaxe opção 1:
BY POSITION
- Faz a correspondência entre as colunas de origem e as colunas da tabela de destino por posição ordinal automaticamente.
- A correspondência de nome padrão não é usada para correspondência.
-
IDENTITY
As colunas eGENERATED
colunas da tabela de destino são ignoradas ao corresponder às colunas de origem. - Se o número de colunas de origem não for igual às colunas filtradas da tabela de destino,
COPY INTO
gerará um erro.
Sintaxe opção 2:
( col_name [ , <col_name> ... ] )
- Faz a correspondência entre colunas de origem e as colunas da tabela de destino especificadas por posição ordinal relativa usando uma lista de nomes de colunas da tabela de destino entre parênteses, separada por vírgula.
- A ordem original das colunas da tabela e os nomes das colunas não são usados para correspondência.
-
IDENTITY
Colunas eGENERATED
colunas não podem ser especificadas na lista Nome da coluna, caso contrárioCOPY INTO
, gera um erro. - As colunas especificadas não podem ser duplicadas.
- Quando o número de colunas de origem não é igual às colunas da tabela especificadas,
COPY INTO
gera um erro. - Para as colunas que não são especificadas na lista de nomes de colunas,
COPY INTO
atribui valores padrão, se houver, e atribuiNULL
o contrário. Se qualquer coluna não for anulável,COPY INTO
gerará um erro.
- Faz a correspondência entre as colunas de origem e as colunas da tabela de destino por posição ordinal automaticamente.
source
O local do arquivo a partir do qual os dados serão carregados. Os arquivos neste local devem ter o formato especificado em
FILEFORMAT
. O local é fornecido na forma de um URI.O acesso ao local de origem pode ser fornecido através de:
credential_name
Nome opcional da credencial usada para acessar ou gravar no local de armazenamento. Você usa essa credencial somente se o local do arquivo não estiver incluído em um local externo. Ver credential_name.
Credenciais temporárias embutidas.
Definir o local de origem como um local externo e ter
READ FILES
permissões no local externo através do Unity Catalog.Usando uma credencial de armazenamento nomeado com
READ FILES
permissões que fornecem autorização para ler de um local por meio do Unity Catalog.
Você não precisará fornecer credenciais embutidas ou nomeadas se o caminho já estiver definido como um local externo que você tenha permissões para usar. Consulte Criar um local externo para conectar o armazenamento em nuvem ao Azure Databricks para obter mais detalhes.
Nota
Se o caminho do arquivo de origem for um caminho raiz, adicione uma barra (
/
) no final do caminho do arquivo, por exemplo,s3://my-bucket/
.As opções de credenciais aceites são:
-
AZURE_SAS_TOKEN
para ADLS Gen2 e Azure Blob Storage -
AWS_ACCESS_KEY
,AWS_SECRET_KEY
eAWS_SESSION_TOKEN
para o AWS S3
As opções de encriptação aceites são:
-
TYPE = 'AWS_SSE_C'
eMASTER_KEY
para o AWS S3
Consulte Carregar dados usando COPY INTO com credenciais temporárias.
SELECT expression_list
Seleciona as colunas ou expressões especificadas dos dados de origem antes de copiar para a tabela Delta. As expressões podem ser qualquer coisa que você usa com
SELECT
instruções, incluindo operações de janela. Você pode usar expressões de agregação somente para agregações globais – não é possívelGROUP BY
em colunas com essa sintaxe.FILEFORMAT = data_source
O formato dos arquivos de origem a serem carregados. Um dos
CSV
,JSON
,AVRO
, ,ORC
,PARQUET
,TEXT
.BINARYFILE
VALIDATE
Aplica-se a: Databricks SQL Databricks Runtime 10.4 LTS e superior
Os dados a serem carregados em uma tabela são validados, mas não gravados na tabela. Essas validações incluem:
- Se os dados podem ser analisados.
- Se o esquema corresponde ao da tabela ou se o esquema precisa ser evoluído.
- Se todas as restrições de anulabilidade e verificação são atendidas.
O padrão é validar todos os dados que serão carregados. Você pode fornecer várias linhas a serem validadas com a
ROWS
palavra-chave, comoVALIDATE 15 ROWS
. ACOPY INTO
instrução retorna uma visualização dos dados de 50 linhas ou menos quando um número menor que 50 é usado com aROWS
palavra-chave).FILES
Uma lista de nomes de ficheiros a carregar, com um limite de 1000 ficheiros. Não pode ser especificado com
PATTERN
.PATTERN
Um padrão glob que identifica os arquivos a serem carregados a partir do diretório de origem. Não pode ser especificado com
FILES
.Padrão Description ?
Corresponde a qualquer caractere *
Corresponde a zero ou mais caracteres [abc]
Corresponde a um único caractere do conjunto de caracteres {a,b,c}. [a-z]
Corresponde a um único caractere do intervalo de caracteres {a... z}. [^a]
Corresponde a um único caractere que não é do conjunto de caracteres ou intervalo {a}. Observe que o ^
caractere deve ocorrer imediatamente à direita do colchete de abertura.{ab,cd}
Corresponde a uma string do conjunto de strings {ab, cd}. {ab,c{de, fh}}
Corresponde a uma string do conjunto de strings {ab, cde, cfh}. FORMAT_OPTIONS
Opções a serem passadas para o leitor de fonte de dados Apache Spark para o formato especificado. Consulte Opções de formato para cada formato de arquivo.
COPY_OPTIONS
Opções para controlar o funcionamento do
COPY INTO
comando.-
force
: booleano, padrãofalse
. Se definido comotrue
, idempotência é desativado e os arquivos são carregados independentemente de terem sido carregados antes. -
mergeSchema
: booleano, padrãofalse
. Se definido comotrue
, o esquema pode ser evoluído de acordo com os dados recebidos.
-
Invoque COPY INTO
simultaneamente
COPY INTO
suporta invocações simultâneas na mesma tabela. Contanto que COPY INTO
seja invocado simultaneamente em conjuntos distintos de arquivos de entrada, cada invocação deve eventualmente ser bem-sucedida, caso contrário, você terá um conflito de transação.
COPY INTO
não devem ser invocados simultaneamente para melhorar o desempenho; Um único COPY INTO
comando com vários arquivos normalmente tem um desempenho melhor do que executar comandos simultâneos COPY INTO
com um único arquivo cada.
COPY INTO
pode ser chamado simultaneamente quando:
- Vários produtores de dados não têm uma maneira fácil de coordenar e não podem fazer uma única invocação.
- Quando um diretório muito grande pode ser ingerido, subdiretório por subdiretório. Ao ingerir diretórios com um número muito grande de arquivos, o Databricks recomenda o uso do Auto Loader quando possível.
Aceder aos metadados do ficheiro
Para saber como acessar metadados para fontes de dados baseadas em arquivo, consulte Coluna de metadados de arquivo.
Opções de formato
- Opções genéricas
-
JSON
Opções -
CSV
Opções -
XML
Opções -
PARQUET
Opções -
AVRO
Opções -
BINARYFILE
Opções -
TEXT
Opções -
ORC
Opções
Opções genéricas
As opções a seguir se aplicam a todos os formatos de arquivo.
Opção |
---|
ignoreCorruptFiles Tipo: Boolean Se deve ignorar arquivos corrompidos. Se verdadeiro, os trabalhos do Spark continuarão a ser executados ao encontrar arquivos corrompidos e o conteúdo que foi lido ainda será retornado. Observável como numSkippedCorruptFiles naoperationMetrics coluna da história do Lago Delta. Disponível em Databricks Runtime 11.3 LTS e superior.Valor predefinido: false |
ignoreMissingFiles Tipo: Boolean Se deve ignorar ficheiros em falta. Se verdadeiro, os trabalhos do Spark continuarão a ser executados ao encontrar arquivos ausentes e o conteúdo que foi lido ainda será retornado. Disponível em Databricks Runtime 11.3 LTS e superior. Valor padrão: false (true for COPY INTO ) |
modifiedAfter Tipo: Timestamp String , por exemplo, 2021-01-01 00:00:00.000000 UTC+0 Um carimbo de data/hora opcional para ingerir arquivos que tenham um carimbo de data/hora de modificação após o carimbo de data/hora fornecido. Valor padrão: Nenhum |
modifiedBefore Tipo: Timestamp String , por exemplo, 2021-01-01 00:00:00.000000 UTC+0 Um carimbo de data/hora opcional para ingerir arquivos que tenham um carimbo de data/hora de modificação antes do carimbo de data/hora fornecido. Valor padrão: Nenhum |
pathGlobFilter ou fileNamePattern Tipo: String Um padrão de glob potencial a ser fornecido para a escolha de arquivos. Equivalente a PATTERN em COPY INTO .
fileNamePattern pode ser usado em read_files .Valor padrão: Nenhum |
recursiveFileLookup Tipo: Boolean Se a inferência de partição deve ser ignorada durante a inferência de esquema. Isso não afeta quais arquivos são carregados. Valor predefinido: false |
JSON
Opções
Opção |
---|
allowBackslashEscapingAnyCharacter Tipo: Boolean Se deve permitir que as barras invertidas escapem de qualquer personagem que a consiga. Se não estiver habilitado, somente os caracteres explicitamente listados pela especificação JSON poderão ser escapados. Valor predefinido: false |
allowComments Tipo: Boolean Se deve permitir o uso de comentários de estilo Java, C e C++ ( '/' , '*' e '//' variedades) dentro do conteúdo analisado ou não.Valor predefinido: false |
allowNonNumericNumbers Tipo: Boolean Se o conjunto de tokens não-a-number ( NaN ) deve ser permitido como valores de número flutuante legal.Valor predefinido: true |
allowNumericLeadingZeros Tipo: Boolean Permitir ou não que números integrais comecem com zeros adicionais (ignorantes) (por exemplo, 000001 ).Valor predefinido: false |
allowSingleQuotes Tipo: Boolean Se deve permitir o uso de aspas simples (apóstrofo, caractere '\' ) para citar cadeias de caracteres (nomes e valores String).Valor predefinido: true |
allowUnquotedControlChars Tipo: Boolean Se as cadeias de caracteres JSON devem conter caracteres de controle sem escape (caracteres ASCII com valor inferior a 32, incluindo caracteres de tabulação e alimentação de linha) ou não. Valor predefinido: false |
allowUnquotedFieldNames Tipo: Boolean Se deve permitir o uso de nomes de campos não citados (que são permitidos pelo JavaScript, mas não pela especificação JSON). Valor predefinido: false |
badRecordsPath Tipo: String O caminho para armazenar arquivos para gravar as informações sobre registros JSON incorretos. Valor padrão: Nenhum |
columnNameOfCorruptRecord Tipo: String A coluna para armazenar registros que estão malformados e não podem ser analisados. Se o mode para análise estiver definido como DROPMALFORMED , esta coluna estará vazia.Valor predefinido: _corrupt_record |
dateFormat Tipo: String O formato para analisar cadeias de caracteres de data. Valor predefinido: yyyy-MM-dd |
dropFieldIfAllNull Tipo: Boolean Se as colunas de todos os valores nulos ou matrizes e estruturas vazias devem ser ignoradas durante a inferência do esquema. Valor predefinido: false |
encoding ou charset Tipo: String O nome da codificação dos arquivos JSON. Consulte java.nio.charset.Charset a lista de opções. Você não pode usar UTF-16 e UTF-32 quando multiline é true .Valor predefinido: UTF-8 |
inferTimestamp Tipo: Boolean Se deve tentar inferir cadeias de caracteres de carimbo de data/hora como um TimestampType arquivo . Quando definido comotrue , a inferência do esquema pode levar visivelmente mais tempo. Você deve habilitar cloudFiles.inferColumnTypes o uso com o Auto Loader.Valor predefinido: false |
lineSep Tipo: String Uma cadeia de caracteres entre dois registros JSON consecutivos. Valor padrão: Nenhum, que abrange \r , \r\n e \n |
locale Tipo: String Um java.util.Locale identificador. Influencia a data padrão, o carimbo de data/hora e a análise decimal dentro do JSON.Valor predefinido: US |
mode Tipo: String Modo de análise em torno da manipulação de registros malformados. Um dos 'PERMISSIVE' ,'DROPMALFORMED' , ou 'FAILFAST' .Valor predefinido: PERMISSIVE |
multiLine Tipo: Boolean Se os registros JSON abrangem várias linhas. Valor predefinido: false |
prefersDecimal Tipo: Boolean Tenta inferir cadeias de caracteres em DecimalType vez de float ou double type quando possível. Você também deve usar a inferência de esquema, habilitandoinferSchema ou usando cloudFiles.inferColumnTypes com Auto Loader.Valor predefinido: false |
primitivesAsString Tipo: Boolean Se deve inferir tipos primitivos como números e booleanos como StringType .Valor predefinido: false |
readerCaseSensitive Tipo: Boolean Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de forma que não diferencie maiúsculas de minúsculas. Disponível no Databricks Runtime13.3 e superior. Valor predefinido: true |
rescuedDataColumn Tipo: String Se todos os dados que não podem ser analisados devem ser analisados devido a uma incompatibilidade de tipo de dados ou incompatibilidade de esquema (incluindo caixa de coluna) para uma coluna separada. Esta coluna é incluída por padrão ao usar o Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados?. Valor padrão: Nenhum |
singleVariantColumn Tipo: String Se deseja ingerir o documento JSON inteiro, analisado em uma única coluna Variant com a cadeia de caracteres fornecida como o nome da coluna. Se desativado, os campos JSON serão ingeridos em suas próprias colunas. Valor padrão: Nenhum |
timestampFormat Tipo: String O formato para analisar cadeias de caracteres de carimbo de data/hora. Valor predefinido: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Tipo: String O java.time.ZoneId a ser usado ao analisar carimbos de data/hora e datas.Valor padrão: Nenhum |
CSV
Opções
Opção |
---|
badRecordsPath Tipo: String O caminho para armazenar arquivos para gravar as informações sobre registros CSV incorretos. Valor padrão: Nenhum |
charToEscapeQuoteEscaping Tipo: Char O personagem usado para escapar do personagem usado para escapar de citações. Por exemplo, para o seguinte registo: [ " a\\", b ] - Se o caractere a escapar '\' estiver indefinido, o registro não será analisado. O analisador lerá caracteres: [a],[\],["],[,],[ ],[b] e lançará um erro porque não consegue encontrar uma citação de fechamento.- Se o caractere a escapar for '\' definido como '\' , o registro será lido com 2 valores: [a\] e [b] .Valor predefinido: '\0' |
columnNameOfCorruptRecord Suportado para Auto Loader. Não suportado para COPY INTO .Tipo: String A coluna para armazenar registros que estão malformados e não podem ser analisados. Se o mode para análise estiver definido como DROPMALFORMED , esta coluna estará vazia.Valor predefinido: _corrupt_record |
comment Tipo: Char Define o caractere que representa um comentário de linha quando encontrado no início de uma linha de texto. Use '\0' para desativar o salto de comentários.Valor predefinido: '\u0000' |
dateFormat Tipo: String O formato para analisar cadeias de caracteres de data. Valor predefinido: yyyy-MM-dd |
emptyValue Tipo: String Representação de cadeia de caracteres de um valor vazio. Valor predefinido: "" |
encoding ou charset Tipo: String O nome da codificação dos arquivos CSV. Consulte java.nio.charset.Charset a lista de opções.
UTF-16 e UTF-32 não pode ser usado quando multiline é true .Valor predefinido: UTF-8 |
enforceSchema Tipo: Boolean Se deve aplicar à força o esquema especificado ou inferido aos arquivos CSV. Se a opção estiver ativada, os cabeçalhos dos arquivos CSV serão ignorados. Esta opção é ignorada por padrão ao usar o Auto Loader para resgatar dados e permitir a evolução do esquema. Valor predefinido: true |
escape Tipo: Char O caractere de escape a ser usado ao analisar os dados. Valor predefinido: '\' |
header Tipo: Boolean Se os arquivos CSV contêm um cabeçalho. O Auto Loader assume que os arquivos têm cabeçalhos ao inferir o esquema. Valor predefinido: false |
ignoreLeadingWhiteSpace Tipo: Boolean Se os espaços em branco à esquerda devem ser ignorados para cada valor analisado. Valor predefinido: false |
ignoreTrailingWhiteSpace Tipo: Boolean Se deve ignorar espaços em branco à direita para cada valor analisado. Valor predefinido: false |
inferSchema Tipo: Boolean Se é necessário inferir os tipos de dados dos registros CSV analisados ou assumir que todas as colunas são de StringType . Requer uma passagem adicional sobre os dados, se definido como true . Para Auto Loader, use cloudFiles.inferColumnTypes em vez disso.Valor predefinido: false |
lineSep Tipo: String Uma cadeia de caracteres entre dois registros CSV consecutivos. Valor padrão: Nenhum, que abrange \r , \r\n e \n |
locale Tipo: String Um java.util.Locale identificador. Influencia a data padrão, o carimbo de data/hora e a análise decimal dentro do CSV.Valor predefinido: US |
maxCharsPerColumn Tipo: Int Número máximo de caracteres esperados de um valor a ser analisado. Pode ser usado para evitar erros de memória. O padrão é , o -1 que significa ilimitado.Valor predefinido: -1 |
maxColumns Tipo: Int O limite rígido de quantas colunas um registro pode ter. Valor predefinido: 20480 |
mergeSchema Tipo: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. Ativado por padrão para o Auto Loader ao inferir o esquema. Valor predefinido: false |
mode Tipo: String Modo de análise em torno da manipulação de registros malformados. Um dos 'PERMISSIVE' ,'DROPMALFORMED'
'FAILFAST' e .Valor predefinido: PERMISSIVE |
multiLine Tipo: Boolean Se os registros CSV abrangem várias linhas. Valor predefinido: false |
nanValue Tipo: String A representação de cadeia de caracteres de um valor diferente de um número ao analisar FloatType e DoubleType colunas.Valor predefinido: "NaN" |
negativeInf Tipo: String A representação de cadeia de caracteres do infinito negativo ao analisar FloatType ou DoubleType colunas.Valor predefinido: "-Inf" |
nullValue Tipo: String Representação de cadeia de caracteres de um valor nulo. Valor predefinido: "" |
parserCaseSensitive (preterido)Tipo: Boolean Durante a leitura de arquivos, se as colunas declaradas no cabeçalho devem ser alinhadas com o esquema de forma sensível a maiúsculas e minúsculas. Isso é true por padrão para o Auto Loader. As colunas que diferem por maiúsculas e minúsculas rescuedDataColumn serão resgatadas no se habilitado. Esta opção foi preterida em favor do readerCaseSensitive .Valor predefinido: false |
positiveInf Tipo: String A representação de cadeia de caracteres do infinito positivo ao analisar FloatType ou DoubleType colunas.Valor predefinido: "Inf" |
preferDate Tipo: Boolean Tenta inferir cadeias de caracteres como datas em vez de carimbo de data/hora quando possível. Você também deve usar a inferência de esquema, habilitando inferSchema ou usandocloudFiles.inferColumnTypes com Auto Loader.Valor predefinido: true |
quote Tipo: Char O caractere usado para escapar de valores onde o delimitador de campo é parte do valor. Valor predefinido: " |
readerCaseSensitive Tipo: Boolean Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de forma que não diferencie maiúsculas de minúsculas.Valor predefinido: true |
rescuedDataColumn Tipo: String Se todos os dados que não podem ser analisados devem ser analisados devido a: uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo caixa de coluna) para uma coluna separada. Esta coluna é incluída por padrão ao usar o Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados?. Valor padrão: Nenhum |
sep ou delimiter Tipo: String A cadeia de caracteres separadora entre colunas. Valor predefinido: "," |
skipRows Tipo: Int O número de linhas desde o início do arquivo CSV que devem ser ignoradas (incluindo linhas comentadas e vazias). Se header for verdadeiro, o cabeçalho será a primeira linha não ignorada e não comentada.Valor predefinido: 0 |
timestampFormat Tipo: String O formato para analisar cadeias de caracteres de carimbo de data/hora. Valor predefinido: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Tipo: String O java.time.ZoneId a ser usado ao analisar carimbos de data/hora e datas.Valor padrão: Nenhum |
unescapedQuoteHandling Tipo: String A estratégia para lidar com citações sem escapar. Opções permitidas: - STOP_AT_CLOSING_QUOTE : Se forem encontradas cotações sem escape na entrada, acumule o caractere de cotação e prossiga analisando o valor como um valor cotado, até que uma cotação de fechamento seja encontrada.- BACK_TO_DELIMITER : Se forem encontradas cotações sem escape na entrada, considere o valor como um valor não cotado. Isso fará com que o analisador acumule todos os caracteres do valor analisado atual até que o delimitador definido por sep seja encontrado. Se nenhum delimitador for encontrado no valor, o analisador continuará acumulando caracteres da entrada até que um delimitador ou terminação de linha seja encontrado.- STOP_AT_DELIMITER : Se forem encontradas cotações sem escape na entrada, considere o valor como um valor não cotado. Isso fará com que o analisador acumule todos os caracteres até que o delimitador definido por sep , ou uma terminação de linha seja encontrada na entrada.- SKIP_VALUE : Se forem encontradas aspas sem escape na entrada, o conteúdo analisado para o valor dado será ignorado (até que o próximo delimitador seja encontrado) e o valor definido em nullValue será produzido.- RAISE_ERROR : Se forem encontradas cotações sem escape na entrada, umTextParsingException serão atirados.Valor predefinido: STOP_AT_DELIMITER |
XML
Opções
Opção | Description | Scope |
---|---|---|
rowTag |
A marca de linha dos arquivos XML a serem tratados como uma linha. No exemplo XML <books> <book><book>...<books> , o valor apropriado é book . Esta é uma opção necessária. |
lido |
samplingRatio |
Define uma fração de linhas usadas para inferência de esquema. As funções internas XML ignoram essa opção. Padrão: 1.0 . |
lido |
excludeAttribute |
Se os atributos devem ser excluídos em elementos. Padrão: false . |
lido |
mode |
Modo para lidar com registros corrompidos durante a análise.PERMISSIVE : Para registros corrompidos, coloca a cadeia de caracteres malformada em um campo configurado por columnNameOfCorruptRecord , e define campos malformados como null . Para manter registros corrompidos, você pode definir um string campo de tipo nomeado columnNameOfCorruptRecord em um esquema definido pelo usuário. Se um esquema não tiver o campo, os registros corrompidos serão descartados durante a análise. Ao inferir um esquema, o analisador adiciona implicitamente um columnNameOfCorruptRecord campo em um esquema de saída.DROPMALFORMED : Ignora registros corrompidos. Este modo não é suportado para funções incorporadas XML.FAILFAST : Lança uma exceção quando o analisador encontra registros corrompidos. |
lido |
inferSchema |
If true , tenta inferir um tipo apropriado para cada coluna DataFrame resultante. Se false , todas as colunas resultantes são do string tipo. Predefinição:true . As funções internas XML ignoram essa opção. |
lido |
columnNameOfCorruptRecord |
Permite renomear o novo campo que contém uma cadeia de caracteres malformada criada porPERMISSIVE modo. Padrão: spark.sql.columnNameOfCorruptRecord . |
lido |
attributePrefix |
O prefixo para atributos para diferenciar atributos de elementos. Este será o prefixo para nomes de campos. A predefinição é _ . Pode estar vazio para ler XML, mas não para escrever. |
ler, escrever |
valueTag |
A tag usada para os dados de caractere dentro de elementos que também têm atributo(s) ou elemento(s) filho(s). O usuário pode especificar o valueTag campo no esquema ou ele será adicionado automaticamente durante a inferência do esquema quando os dados de caracteres estiverem presentes em elementos com outros elementos ou atributos. Predefinição: _VALUE |
ler,escrever |
encoding |
Para leitura, decodifica os arquivos XML pelo tipo de codificação fornecido. Para escrever, especifica a codificação (charset) de arquivos XML salvos. As funções internas XML ignoram essa opção. Padrão: UTF-8 . |
ler, escrever |
ignoreSurroundingSpaces |
Define se os espaços em branco ao redor dos valores que estão sendo lidos devem ser ignorados. Padrão: true . Os dados de caracteres somente de espaço em branco são ignorados. |
lido |
rowValidationXSDPath |
Caminho para um arquivo XSD opcional que é usado para validar o XML para cada linha individualmente. As linhas que não validam são tratadas como erros de análise como acima. O XSD não afeta o esquema fornecido ou inferido. | lido |
ignoreNamespace |
Se true , os prefixos dos namespaces em elementos e atributos XML forem ignorados. Tags <abc:author> e <def:author> , por exemplo, são tratadas como se ambas fossem apenas <author> . Os namespaces não podem ser ignorados rowTag no elemento , apenas seus filhos de leitura. A análise XML não reconhece namespace, mesmo que false . Padrão: false . |
lido |
timestampFormat |
Cadeia de caracteres de formato de carimbo de data/hora personalizada que segue o formato de padrão datetime. Isto aplica-se ao timestamp tipo. Padrão: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
ler, escrever |
timestampNTZFormat |
Cadeia de caracteres de formato personalizado para carimbo de data/hora sem fuso horário que segue o formato de padrão datetime. Isso se aplica ao tipo TimestampNTZType. Predefinição:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
ler, escrever |
dateFormat |
Cadeia de caracteres de formato de data personalizada que segue o formato de padrão datetime. Isto aplica-se ao tipo de data. Padrão: yyyy-MM-dd . |
ler, escrever |
locale |
Define uma localidade como uma marca de idioma no formato IETF BCP 47. Por exemplo, locale é usado durante a análise de datas e carimbos de data/hora. Padrão: en-US . |
lido |
rootTag |
Marca raiz dos arquivos XML. Por exemplo, em <books> <book><book>...</books> , o valor apropriado é books . Você pode incluir atributos básicos especificando um valor como books foo="bar" . Padrão: ROWS . |
escrita |
declaration |
Conteúdo da declaração XML a ser gravada no início de cada arquivo XML de saída, antes do rootTag arquivo . Por exemplo, um valor de foo causas <?xml foo?> a serem gravadas. Defina como uma cadeia de caracteres vazia para suprimir. Predefinição: version="1.0" encoding="UTF-8" standalone="yes" . |
escrita |
arrayElementName |
Nome do elemento XML que inclui cada elemento de uma coluna com valor de matriz ao escrever. Padrão: item . |
escrita |
nullValue |
Define a representação de cadeia de caracteres de um valor nulo. Padrão: string null . Quando isso é null , o analisador não escreve atributos e elementos para campos. |
ler, escrever |
compression |
Código de compressão para usar ao salvar no arquivo. Este pode ser um dos nomes abreviados conhecidos que não diferenciam maiúsculas de minúsculas (none , bzip2 , gzip ,lz4 , snappy edeflate ). As funções internas XML ignoram essa opção. Padrão: none . |
escrita |
validateName |
Se verdadeiro, lança um erro na falha de validação do nome do elemento XML. Por exemplo, nomes de campo SQL podem ter espaços, mas nomes de elementos XML não. Predefinição:true . |
escrita |
readerCaseSensitive |
Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de forma que não diferencie maiúsculas de minúsculas. Padrão: true . |
lido |
rescuedDataColumn |
Se todos os dados que não podem ser analisados devem ser analisados devido a uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo caixa de coluna) para uma coluna separada. Esta coluna é incluída por padrão ao usar o Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados?. Padrão: Nenhum. | lido |
PARQUET
Opções
Opção |
---|
datetimeRebaseMode Tipo: String Controla a rebase dos valores DATE e TIMESTAMP entre os calendários gregoriano Juliano e Proléptico. Valores permitidos: EXCEPTION , LEGACY eCORRECTED .Valor predefinido: LEGACY |
int96RebaseMode Tipo: String Controla a rebase dos valores de carimbo de data/hora INT96 entre os calendários gregoriano Juliano e Proléptico. Valores permitidos: EXCEPTION , LEGACY eCORRECTED .Valor predefinido: LEGACY |
mergeSchema Tipo: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. Valor predefinido: false |
readerCaseSensitive Tipo: Boolean Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de forma que não diferencie maiúsculas de minúsculas.Valor predefinido: true |
rescuedDataColumn Tipo: String Se todos os dados que não podem ser analisados devem ser analisados devido a: uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo caixa de coluna) para uma coluna separada. Esta coluna é incluída por padrão ao usar o Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados?. Valor padrão: Nenhum |
AVRO
Opções
Opção |
---|
avroSchema Tipo: String Esquema opcional fornecido por um usuário no formato Avro. Ao ler o Avro, essa opção pode ser definida como um esquema evoluído, que é compatível, mas diferente do esquema Avro real. O esquema de desserialização será consistente com o esquema evoluído. Por exemplo, se você definir um esquema evoluído contendo uma coluna adicional com um valor padrão, o resultado da leitura também conterá a nova coluna. Valor padrão: Nenhum |
datetimeRebaseMode Tipo: String Controla a rebase dos valores DATE e TIMESTAMP entre os calendários gregoriano Juliano e Proléptico. Valores permitidos: EXCEPTION , LEGACY eCORRECTED .Valor predefinido: LEGACY |
mergeSchema Tipo: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. mergeSchema para Avro não relaxa tipos de dados.Valor predefinido: false |
readerCaseSensitive Tipo: Boolean Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de forma que não diferencie maiúsculas de minúsculas.Valor predefinido: true |
rescuedDataColumn Tipo: String Se todos os dados que não podem ser analisados devem ser analisados devido a: uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo caixa de coluna) para uma coluna separada. Esta coluna é incluída por padrão ao usar o Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados?. Valor padrão: Nenhum |
BINARYFILE
Opções
Os ficheiros binários não têm quaisquer opções de configuração adicionais.
TEXT
Opções
Opção |
---|
encoding Tipo: String O nome da codificação dos arquivos TEXT. Consulte java.nio.charset.Charset a lista de opções.Valor predefinido: UTF-8 |
lineSep Tipo: String Uma cadeia de caracteres entre dois registros TEXT consecutivos. Valor padrão: Nenhum, que abrange \r , \r\n e \n |
wholeText Tipo: Boolean Se um arquivo deve ser lido como um único registro. Valor predefinido: false |
ORC
Opções
Opção |
---|
mergeSchema Tipo: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. Valor predefinido: false |