COPY INTO
Aplica-se a: SQL do Databricks Runtime do Databricks
Carrega dados de um local de arquivo em uma tabela Delta. Essa é uma operação que pode ser repetida e idempotente—os arquivos no local de origem que já foram carregados são ignorados. Isso é verdade mesmo que os arquivos tenham sido 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 do Delta existente. O target_table não deve incluir uma especificação temporal ou especificação de opções.
Se o nome da tabela for fornecido na forma de um local, como:
delta.`/path/to/table`
, o Catálogo do Unity poderá controlar o acesso aos locais aos quais estão sendo gravados. Você pode gravar em um local externo:- Definindo o local como um local externo e tendo permissões
WRITE FILES
nesse local externo. - Ter permissões
WRITE FILES
em uma credencial de armazenamento nomeada que fornecem autorização para gravar em um local usando:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Consulte Conectar-se ao armazenamento de objetos e serviços na nuvem usando o Catálogo do Unity para obter mais detalhes.
- Definindo o local como um local externo e tendo permissões
BY POSITION
| ( col_name [ , <col_name> … ] )Corresponde as colunas de origem a colunas de tabela de destino por posição ordinal. A conversão de tipo das colunas correspondentes é feita automaticamente.
Esse parâmetro só tem suporte para o formato de arquivo CSV sem cabeçalho. É preciso especificar
FILEFORMAT = CSV
.FORMAT_OPTIONS
também deve ser definido como("headers" = "false")
(FORMAT_OPTIONS ("headers" = "false")
é o padrão).Opção de sintaxe 1:
BY POSITION
- Corresponde as colunas de origem a colunas de tabela de destino por posição ordinal automaticamente.
- A correspondência de nome padrão não é usada para correspondência.
- As colunas
IDENTITY
eGENERATED
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 de tabela de destino filtradas,
COPY INTO
gerará um erro.
Opção de sintaxe 2:
( col_name [ , <col_name> ... ] )
- Corresponde as colunas de origem às colunas de tabela de destino especificadas por posição ordinal relativa usando uma lista de nomes de coluna de tabela de destino entre parênteses, separadas por vírgula.
- Os nomes de coluna e ordem da coluna da tabela original não são usados para correspondência.
- As colunas
IDENTITY
eGENERATED
não podem ser especificadas na lista de nomes de coluna, caso contrário,COPY INTO
gerará um erro. - As colunas especificadas não podem ser duplicadas.
- Quando o número de colunas de origem não é igual às colunas de tabela especificadas,
COPY INTO
gera um erro. - Para as colunas que não são especificadas na lista de nomes de coluna,
COPY INTO
atribui valores padrão, se houver. Caso contrário, atribuiNULL
. Se qualquer coluna não for anulável,COPY INTO
gerará um erro.
- Corresponde as colunas de origem a colunas de tabela de destino por posição ordinal automaticamente.
source
O local do arquivo do qual os dados são carregados. Os arquivos neste local devem ter o formato especificado em
FILEFORMAT
. O local é fornecido na forma de uma URI.O acesso ao local de origem pode ser fornecido por meio de:
credential_name
Nome opcional da credencial usada para acessar ou gravar no local de armazenamento. Você usará essa credencial somente se o local do arquivo não estiver incluído em um local externo. Confira credential_name.
Credenciais temporárias embutidas.
Definindo o local de origem como um local externo e tendo permissões
READ FILES
no local externo por meio do Catálogo do Unity.Usando uma credencial de armazenamento nomeada com permissões
READ FILES
que fornecem autorização para leitura de um local por meio do Catálogo do Unity.
Você não precisa fornecer credenciais embutidas ou nomeadas se o caminho já estiver definido como um local externo, que você tem permissões para usar. Consulte Criar um local externo para conectar o armazenamento em nuvem ao Azure Databricks para obter mais detalhes.
Observação
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 aceitas são:
AZURE_SAS_TOKEN
para ADLS Gen2 e Armazenamento de Blobs do AzureAWS_ACCESS_KEY
,AWS_SECRET_KEY
eAWS_SESSION_TOKEN
para AWS S3
As opções de criptografia aceitas são:
TYPE = 'AWS_SSE_C'
eMASTER_KEY
para AWS S3
Confira 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ê use com instruções
SELECT
, 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. Uma opção entre
CSV
,JSON
,AVRO
,ORC
,PARQUET
,TEXT
eBINARYFILE
.VALIDATE
Aplica-se a: SQL do Databricks Databricks Runtime 10.4 LTS e versões posteriores
Os dados que serão 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 desenvolvido.
- Se todas as restrições de nulidade e verificação são atendidas.
O padrão é validar todos os dados que devem ser carregados. Você pode fornecer um número de linhas a serem validadas com a palavra-chave
ROWS
, comoVALIDATE 15 ROWS
. A instruçãoCOPY INTO
retorna uma versão prévia dos dados de 50 linhas ou menos quando um número menor que 50 é usado com a palavra-chaveROWS
).FILES
Uma lista de nomes de arquivos a serem carregados, com um limite de 1.000 arquivos. Não pode ser especificado com
PATTERN
.PATTERN
Um padrão glob que identifica os arquivos a serem carregados do diretório de origem. Não pode ser especificado com
FILES
.Padrão Descrição ?
Corresponde a qualquer caractere único *
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 do intervalo {a}. Observe que o caractere ^
deve ocorrer imediatamente à direita do colchete de abertura.{ab,cd}
Corresponde a uma cadeia de caracteres do conjunto de cadeias de caracteres {ab, cd}. {ab,c{de, fh}}
Corresponde a uma cadeia de caracteres do conjunto de cadeias de caracteres {ab, cde, cfh}. FORMAT_OPTIONS
Opções a serem passadas para o leitor de fonte de dados Apache Spark para o formato especificado. Confira Opções de formato para cada formato de arquivo.
COPY_OPTIONS
Opções para controlar a operação do comando
COPY INTO
.force
: booliano, padrãofalse
. Se definido comotrue
, a idempotência será desabilitada e os arquivos serão carregados, independentemente de terem sido carregados antes.mergeSchema
: booliano, padrãofalse
. Se definido comotrue
, o esquema pode ser desenvolvido de acordo com os dados de entrada.
Invocar COPY INTO
simultaneamente
COPY INTO
dá suporte a invocações simultâneas na mesma tabela. Desde que COPY INTO
seja invocado simultaneamente em conjuntos distintos de arquivos de entrada, cada invocação deverá eventualmente ser bem-sucedida, caso contrário, você obterá um conflito de transação. COPY INTO
não deve ser invocado 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 pelo subdiretório. Ao ingerir diretórios com um número muito grande de arquivos, o Databricks recomenda usar o Carregador Automático quando possível.
Acessar metadados de arquivo
Para saber como acessar metadados para fontes de dados baseadas em arquivo, confira Coluna de metadados do arquivo.
Opções de formato
- Opções genéricas
- Opções
JSON
- Opções
CSV
- Opções
XML
- Opções
PARQUET
- Opções
AVRO
- Opções
BINARYFILE
- Opções
TEXT
- Opções
ORC
Opções genéricas
As opções a seguir se aplicam a todos os formatos de arquivo.
Opção |
---|
ignoreCorruptFiles Digite: Boolean Se os arquivos corrompidos devem ser ignorados. Se for verdade, os trabalhos do Spark continuarão a ser executados ao encontrar arquivos corrompidos e o conteúdo lido ainda será retornado. Observável como numSkippedCorruptFiles nooperationMetrics coluna de histórico do Delta Lake. Disponível no Databricks Runtime 11.3 LTS e versões superiores.Valor padrão: false |
ignoreMissingFiles Digite: Boolean Se deve ignorar arquivos ausentes. Se for verdade, os trabalhos do Spark continuarão a ser executados ao encontrar arquivos ausentes e o conteúdo lido ainda será retornado. Disponível no Databricks Runtime 11.3 LTS e versões superiores. Valor padrão: false (true para COPY INTO ) |
modifiedAfter Digite: 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 Digite: 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 Digite: String Um padrão glob potencial a ser fornecido para escolher arquivos. Equivalente a PATTERN em COPY INTO . fileNamePattern pode ser usado em read_files .Valor padrão: nenhum |
recursiveFileLookup Digite: Boolean Se deve ignorar a inferência de partição durante a inferência de esquema. Isso não afeta quais arquivos são carregados. Valor padrão: false |
JSON
options
Opção |
---|
allowBackslashEscapingAnyCharacter Digite: Boolean Se as barras invertidas devem ser permitidas para escapar qualquer caractere que tenha sucesso. Se não estiver habilitado, somente os caracteres listados explicitamente pela especificação JSON poderão ser ignorados. Valor padrão: false |
allowComments Digite: Boolean Se deseja permitir o uso de comentários de estilo Java, C e C++ (variedades '/' , '*' e '//' ) no conteúdo analisado ou não.Valor padrão: false |
allowNonNumericNumbers Digite: Boolean Se o conjunto de tokens não-numéricos ( NaN ) deve ser permitido como valores de números flutuantes legais.Valor padrão: true |
allowNumericLeadingZeros Digite: Boolean Indica se os números integrais podem ser iniciados com zeros adicionais (ignoráveis) (por exemplo, 000001 ).Valor padrão: false |
allowSingleQuotes Digite: Boolean Se o uso de aspas simples (apóstrofo, caractere '\' ) deve ser permitido para cadeias de caracteres de cotação (nomes e valores de cadeia de caracteres).Valor padrão: true |
allowUnquotedControlChars Digite: Boolean Se as cadeias de caracteres JSON devem ser permitidas (caracteres ASCII com valor inferior a 32, incluindo caracteres de guia e de alimentação de linha) ou não. Valor padrão: false |
allowUnquotedFieldNames Digite: Boolean Se deseja permitir o uso de nomes de campo sem aspas (que são permitidos pelo JavaScript, mas não pela especificação JSON). Valor padrão: false |
badRecordsPath Digite: String O caminho para armazenar arquivos para registrar as informações sobre registros JSON inválidos. Valor padrão: nenhum |
columnNameOfCorruptRecord Digite: String A coluna para armazenar registros malformados e que não podem ser analisados. Se mode para análise for definida como DROPMALFORMED , essa coluna ficará vazia.Valor padrão: _corrupt_record |
dateFormat Digite: String O formato para analisar cadeias de caracteres de data. Valor padrão: yyyy-MM-dd |
dropFieldIfAllNull Digite: Boolean Se as colunas de todos os valores nulos ou matrizes e estruturas vazias devem ser ignoradas durante a inferência de esquema. Valor padrão: false |
encoding ou charset Digite: String O nome da codificação dos arquivos JSON. Confira java.nio.charset.Charset para obter uma lista de opções. Você não poderá usar UTF-16 e UTF-32 quando multiline for true .Valor padrão: UTF-8 |
inferTimestamp Digite: Boolean Se deseja tentar e inferir as cadeias de carimbo de data/hora como um TimestampType . Quando definido comotrue . A inferência de esquema poderá ser notavelmente mais longa. Você deve habilitar cloudFiles.inferColumnTypes o uso com o Carregador Automático.Valor padrão: false |
lineSep Digite: String Uma cadeia de caracteres entre dois registros JSON consecutivos. Valor padrão: Nenhum, que abrange \r , \r\n e \n |
locale Digite: String Um identificador java.util.Locale . Influencia a data padrão, carimbo de data/hora e análise decimal no JSON.Valor padrão: US |
mode Digite: String Modo analisador em torno do tratamento de registros malformados. Uma opção entre 'PERMISSIVE' ,'DROPMALFORMED' ou 'FAILFAST' .Valor padrão: PERMISSIVE |
multiLine Digite: Boolean Se os registros JSON se estenderem por várias linhas. Valor padrão: false |
prefersDecimal Digite: Boolean Tenta inferir cadeias de caracteres como DecimalType em vez de flutuar ou tipo duplo quando possível. Você também deve usar a inferência de esquema, seja habilitandoinferSchema ou usando cloudFiles.inferColumnTypes com o Carregador Automático.Valor padrão: false |
primitivesAsString Digite: Boolean Se deve inferir tipos primitivos como números e boolianos como StringType .Valor padrão: false |
readerCaseSensitive Digite: Boolean Especifica o comportamento de confidencialidade de caso quando rescuedDataColumn está habilitado. Se for verdadeiro, salve as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de maneira que não diferencia maiúsculas de minúsculas. Disponível no Databricks Runtime13.3 e superior. Valor padrão: true |
rescuedDataColumn Digite: String É necessário coletar todos os dados que não podem ser analisados devido a uma incompatibilidade de tipo de dados ou incompatibilidade de esquema (incluindo maiúsculas e minúsculas) em uma coluna separada. Essa coluna é incluída por padrão ao usar o Carregador Automático. Para obter mais detalhes, confira Qual é a coluna dados resgatados?. Valor padrão: nenhum |
singleVariantColumn Digite: String Se deve-se ingerir todo o documento JSON, analisado em uma única coluna Variante com a cadeia de caracteres fornecida como o nome da coluna. Se desabilitado, os campos JSON serão ingeridos em suas próprias colunas. Valor padrão: nenhum |
timestampFormat Digite: String O formato para análise de cadeias de caracteres de data/hora. Valor padrão: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Digite: String O java.time.ZoneId a ser usado ao analisar carimbo de data/hora e datas.Valor padrão: nenhum |
CSV
options
Opção |
---|
badRecordsPath Digite: String O caminho para armazenar arquivos para registrar as informações sobre registros CSV incorretos. Valor padrão: nenhum |
charToEscapeQuoteEscaping Digite: Char O caractere usado para escapar o caractere usado para escapar aspas. Por exemplo, para o seguinte registro: [ " a\\", b ] :- Se o caractere a ser ignorado '\' for indefinido, o registro não será analisado. O analisador lerá caracteres: [a],[\],["],[,],[ ],[b] e lançará um erro porque não consegue encontrar uma aspas de fechamento.- Se o caractere para escapar do '\' for definido como '\' , o registro será lido com dois valores: [a\] e [b] .Valor padrão: '\0' |
columnNameOfCorruptRecord Com suporte para Carregador Automático. Sem suporte para COPY INTO .Digite: String A coluna para armazenar registros malformados e que não podem ser analisados. Se mode para análise for definida como DROPMALFORMED , essa coluna ficará vazia.Valor padrão: _corrupt_record |
comment Digite: Char Define o caractere que representa um comentário de linha quando encontrado no início de uma linha de texto. Use '\0' para desabilitar o ato de ignorar comentários.Valor padrão: '\u0000' |
dateFormat Digite: String O formato para analisar cadeias de caracteres de data. Valor padrão: yyyy-MM-dd |
emptyValue Digite: String Representação de cadeia de caracteres de um valor vazio. Valor padrão: "" |
encoding ou charset Digite: String O nome da codificação dos arquivos CSV. Confira java.nio.charset.Charset para obter a lista de opções. UTF-16 e UTF-32 não poderão ser usados quando multiline for true .Valor padrão: UTF-8 |
enforceSchema Digite: Boolean Se deve aplicar à força o esquema especificado ou inferido aos arquivos CSV. Se a opção estiver habilitada, os cabeçalhos de arquivos CSV serão ignorados. Essa opção será ignorada por padrão ao usar o Carregador Automático para resgatar dados e permitir a evolução do esquema. Valor padrão: true |
escape Digite: Char O caractere de escape a ser usado ao analisar os dados. Valor padrão: '\' |
header Digite: Boolean Se os arquivos CSV contiverem um cabeçalho. O Carregador Automático presume que os arquivos tenham cabeçalhos ao inferir o esquema. Valor padrão: false |
ignoreLeadingWhiteSpace Digite: Boolean Se deve ignorar espaços em branco à frente para cada valor analisado. Valor padrão: false |
ignoreTrailingWhiteSpace Digite: Boolean Se deve ignorar espaços em branco à parte final para cada valor analisado. Valor padrão: false |
inferSchema Digite: Boolean Se inferir os tipos de dados dos registros CSV analisados ou assumir que todas as colunas são de StringType . Requer uma passagem adicional dos dados se definido como true . Para o Carregador Automático, use cloudFiles.inferColumnTypes em vez disso.Valor padrão: false |
lineSep Digite: String Uma cadeia de caracteres entre dois registros CSV consecutivos. Valor padrão: Nenhum, que abrange \r , \r\n e \n |
locale Digite: String Um identificador java.util.Locale . Influencia a data padrão, o carimbo de data/hora e a análise decimal dentro do CSV.Valor padrão: US |
maxCharsPerColumn Digite: 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 é -1 , que significa ilimitado.Valor padrão: -1 |
maxColumns Digite: Int O limite rígido de quantas colunas um registro pode ter. Valor padrão: 20480 |
mergeSchema Digite: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. Habilitado por padrão para o Carregador Automático ao inferir o esquema. Valor padrão: false |
mode Digite: String Modo analisador em torno do tratamento de registros malformados. Uma opção entre 'PERMISSIVE' ,'DROPMALFORMED' e 'FAILFAST' .Valor padrão: PERMISSIVE |
multiLine Digite: Boolean Se os registros CSV se estenderem por várias linhas. Valor padrão: false |
nanValue Digite: String A representação de cadeia de caracteres de um valor que não é um número ao analisar as colunas FloatType e DoubleType .Valor padrão: "NaN" |
negativeInf Digite: String A representação de cadeia de caracteres de infinito negativo ao analisar as colunas FloatType ou DoubleType .Valor padrão: "-Inf" |
nullValue Digite: String Representação de cadeia de caracteres de um valor nulo. Valor padrão: "" |
parserCaseSensitive (preterido)Digite: Boolean Durante a leitura de arquivos, se as colunas declaradas no cabeçalho devem ser alinhadas com o caso de esquema de forma sensível. Isso é true por padrão para o Carregador Automático. As colunas que diferirem por caso serão resgatadas no rescuedDataColumn , se habilitado. Essa opção foi preterida em favor de readerCaseSensitive .Valor padrão: false |
positiveInf Digite: String A representação de cadeia de caracteres de infinito positivo ao analisar as colunas FloatType ou DoubleType .Valor padrão: "Inf" |
preferDate Digite: 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 o Carregador Automático.Valor padrão: true |
quote Digite: Char O caractere usado para escapar valores em que o delimitador de campo faz parte do valor. Valor padrão: " |
readerCaseSensitive Digite: Boolean Especifica o comportamento de confidencialidade de caso quando rescuedDataColumn está habilitado. Se for verdadeiro, salve as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de maneira que não diferencia maiúsculas de minúsculas.Valor padrão: true |
rescuedDataColumn Digite: String É necessário coletar todos os dados que não podem ser analisados devido a uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo maiúsculas e minúsculas) em uma coluna separada. Essa coluna é incluída por padrão ao usar o Carregador Automático. Para obter mais detalhes, confira Qual é a coluna dados resgatados?. Valor padrão: nenhum |
sep ou delimiter Digite: String A cadeia de caracteres do separador entre colunas. Valor padrão: "," |
skipRows Digite: Int O número de linhas desde o início do arquivo CSV que devem ser ignoradas (incluindo linhas com comentários e vazias). Se header for verdadeiro, o cabeçalho será a primeira linha não mapeada e descompactada.Valor padrão: 0 |
timestampFormat Digite: String O formato para análise de cadeias de caracteres de data/hora. Valor padrão: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Digite: String O java.time.ZoneId a ser usado ao analisar carimbo de data/hora e datas.Valor padrão: nenhum |
unescapedQuoteHandling Digite: String A estratégia para lidar com aspas sem saída. Opções permitidas: - STOP_AT_CLOSING_QUOTE : se aspas sem escape forem encontradas na entrada, acumular o caractere de aspas e continuar analisando o valor como um valor entre aspas, até que uma aspa de fechamento seja encontrada.- BACK_TO_DELIMITER : se forem encontradas aspas sem escape na entrada, considere o valor como um valor sem aspas. Isso fará com que o analisador acumule todos os caracteres do valor atual analisado 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 uma terminação de linha seja encontrada.- STOP_AT_DELIMITER : se forem encontradas aspas sem escape na entrada, considere o valor como um valor sem aspas. Isso fará com que o analisador acumule todos os caracteres até que o delimitador definido por sep ou uma terminação de linha seja encontrado na entrada.- SKIP_VALUE : se forem encontradas aspas sem escape na entrada, o conteúdo analisado para o valor determinado será ignorado (até que o próximo delimitador seja encontrado) e, em vez disso, será produzido o valor definido em nullValue .- RAISE_ERROR : se forem encontradas aspas sem escape na entrada, umaTextParsingException será lançada.Valor padrão: STOP_AT_DELIMITER |
XML
options
Opção | Descrição | Escopo |
---|---|---|
rowTag |
A marca de linha dos arquivos XML a serem tratadas como uma linha. No exemplo o XML <books> <book><book>...<books> , o valor apropriado é book . Trata-se de uma opção obrigatória. |
read |
samplingRatio |
Define uma fração de linhas usadas para inferência de esquema. As funções internas do XML ignoram essa opção. Padrão: 1.0 . |
read |
excludeAttribute |
Se deve excluir os atributos em elementos. Padrão: false . |
read |
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 os campos malformados como null . Para manter os registros corrompidos, é possível definir um campo do tipo string denominado 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 campo columnNameOfCorruptRecord em um esquema de saída.DROPMALFORMED : ignora os registros corrompidos. Esse modo não dá suporte para funções internas de XML.FAILFAST : gera uma exceção quando o analisador encontra registros corrompidos. |
read |
inferSchema |
Se true , tenta inferir um tipo apropriado para cada coluna DataFrame resultante. Se false , todas as colunas resultantes serão do tipo string . Padrão:true . As funções internas do XML ignoram essa opção. |
read |
columnNameOfCorruptRecord |
Permite renomear o novo campo que contém uma cadeia de caracteres malformada criada pelo modo PERMISSIVE . Padrão: spark.sql.columnNameOfCorruptRecord . |
read |
attributePrefix |
O prefixo de atributos para diferenciar atributos de elementos. Esse será o prefixo para nomes de campo. O padrão é _ . Pode estar vazio para leitura de XML, mas não para gravação. |
leitura, gravação |
valueTag |
A marca usada para os dados de caracteres dentro de elementos que também têm elementos de atributo(s) ou elemento(s) filho(s). O usuário pode especificar o campo valueTag 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. Padrão: _VALUE |
leitura,gravação |
encoding |
Para leitura, decodifique os arquivos XML de acordo com o tipo de codificação fornecido. Para gravação, especifique a codificação (conjunto de caracteres) dos arquivos XML salvos. As funções internas do XML ignoram essa opção. Padrão: UTF-8 . |
leitura, gravação |
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 com espaços em branco são ignorados. |
read |
rowValidationXSDPath |
Caminho para um arquivo XSD opcional usado para validar o XML de cada linha individualmente. As linhas que não são validadas são tratadas como erros de análise, conforme mostrado acima. O XSD não afeta de outra forma o esquema fornecido ou inferido. | read |
ignoreNamespace |
Se true , os prefixos de namespaces em elementos e atributos XML serão ignorados. As marcas <abc:author> e <def:author> , por exemplo, são tratadas como se ambas fossem apenas <author> . Os namespaces não podem ser ignorados no elemento rowTag , somente em seus elementos filhos de leitura. A análise de XML não tem reconhecimento de namespace, mesmo se false . Padrão: false . |
read |
timestampFormat |
Cadeia de caracteres do formato de carimbo de data/hora personalizado que segue o formato padrão datetime. Isso se aplica ao tipo timestamp . Padrão: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
leitura, gravação |
timestampNTZFormat |
Cadeia de caracteres de formato personalizado para carimbo de data/hora sem fuso horário que segue o formato padrão datetime. Isso se aplica ao tipo TimestampNTZType. Padrão:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
leitura, gravação |
dateFormat |
Cadeia de caracteres de formato de data personalizada que segue o formato padrão datetime. Isso se aplica ao tipo de data. Padrão: yyyy-MM-dd . |
leitura, gravação |
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 . |
read |
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 . |
write |
declaration |
Conteúdo da declaração XML a ser gravada no início de cada arquivo XML de saída, antes de rootTag . Por exemplo, um valor de foo faz com que <?xml foo?> seja gravado. Defina como uma cadeia de caracteres vazia para suprimir. Padrão: version="1.0" encoding="UTF-8" standalone="yes" . |
write |
arrayElementName |
Nome do elemento XML que envolve cada elemento de uma coluna com valor de matriz durante a gravação. Padrão: item . |
write |
nullValue |
Define a representação em cadeia de caracteres de um valor nulo. Padrão: cadeia de caracteres null . Quando esse valor é null , o analisador não escreve atributos e elementos para campos. |
leitura, gravação |
compression |
Código de compactação a ser usado ao salvar no arquivo. 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 do XML ignoram essa opção. Padrão: none . |
write |
validateName |
Se verdadeiro, gera um erro em caso de falha na validação do nome do elemento XML. Por exemplo, os nomes de campos SQL podem ter espaços, mas os nomes de elementos XML não podem. Padrão:true . |
write |
readerCaseSensitive |
Especifica o comportamento da diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se for verdadeiro, salve as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de maneira que não diferencia maiúsculas de minúsculas. Padrão: true . |
read |
rescuedDataColumn |
Se todos os dados que não podem ser analisados devido a uma incompatibilidade de tipo de dados e de esquema (incluindo maiúsculas e minúsculas da coluna) devem ser coletados em uma coluna separada. Essa coluna é incluída por padrão ao usar o Carregador Automático. Para obter mais detalhes, confira O que é a coluna de dados resgatados?. Padrão: nenhum. | read |
PARQUET
options
Opção |
---|
datetimeRebaseMode Digite: String Controla a nova base dos valores DATE e TIMESTAMP entre calendários Juliano e Gregoriano Proléptico. Valores permitidos: EXCEPTION , LEGACY eCORRECTED .Valor padrão: LEGACY |
int96RebaseMode Digite: String Controla a nova base dos valores de carimbo de data/hora INT96 entre calendários Juliano e Gregoriano Proléptico. Valores permitidos: EXCEPTION , LEGACY eCORRECTED .Valor padrão: LEGACY |
mergeSchema Digite: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. Valor padrão: false |
readerCaseSensitive Digite: Boolean Especifica o comportamento de confidencialidade de caso quando rescuedDataColumn está habilitado. Se for verdadeiro, salve as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de maneira que não diferencia maiúsculas de minúsculas.Valor padrão: true |
rescuedDataColumn Digite: String É necessário coletar todos os dados que não podem ser analisados devido a uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo maiúsculas e minúsculas) em uma coluna separada. Essa coluna é incluída por padrão ao usar o Carregador Automático. Para obter mais detalhes, confira Qual é a coluna dados resgatados?. Valor padrão: nenhum |
AVRO
options
Opção |
---|
avroSchema Digite: String Esquema opcional fornecido por um usuário no formato Avro. Ao ler Avro, essa opção pode ser definida como um esquema desenvolvido, que é compatível, mas diferente com o esquema Avro real. O esquema desserialização será consistente com o esquema desenvolvido. Por exemplo, se você definir um esquema desenvolvido contendo uma coluna adicional com um valor padrão, o resultado de leitura também conterá a nova coluna. Valor padrão: nenhum |
datetimeRebaseMode Digite: String Controla a nova base dos valores DATE e TIMESTAMP entre calendários Juliano e Gregoriano Proléptico. Valores permitidos: EXCEPTION , LEGACY eCORRECTED .Valor padrão: LEGACY |
mergeSchema Digite: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. mergeSchema para Avro não flexibilizar tipos de dados.Valor padrão: false |
readerCaseSensitive Digite: Boolean Especifica o comportamento de confidencialidade de caso quando rescuedDataColumn está habilitado. Se for verdadeiro, salve as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados de maneira que não diferencia maiúsculas de minúsculas.Valor padrão: true |
rescuedDataColumn Digite: String É necessário coletar todos os dados que não podem ser analisados devido a uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo maiúsculas e minúsculas) em uma coluna separada. Essa coluna é incluída por padrão ao usar o Carregador Automático. Para obter mais detalhes, confira Qual é a coluna dados resgatados?. Valor padrão: nenhum |
BINARYFILE
options
Os arquivos binários não têm nenhuma opção de configuração adicional.
TEXT
options
Opção |
---|
encoding Digite: String O nome da codificação dos arquivos TEXT. Confira java.nio.charset.Charset para obter uma lista de opções.Valor padrão: UTF-8 |
lineSep Digite: String Uma cadeia de caracteres entre dois registros TEXT consecutivos. Valor padrão: Nenhum, que abrange \r , \r\n e \n |
wholeText Digite: Boolean Se um arquivo deve ser lido como um único registro. Valor padrão: false |
ORC
options
Opção |
---|
mergeSchema Digite: Boolean Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. Valor padrão: false |