Compartilhar via


COPY INTO

Aplica-se a:marca de seleção positiva SQL do Databricks marca de seleção positiva 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 de nuvem usando o Catálogo do Unity para obter mais detalhes.

  • 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 e GENERATED 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 e GENERATED 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, atribui NULL. Se qualquer coluna não for anulável, COPY INTO gerará um erro.
  • 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 precisará fornecer credenciais embutidas ou nomeadas se o caminho já estiver definido como um local externo que você tenha permissões para usar. Confira a visão geral de locais externos 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 o ADLS e o Armazenamento de Blobs do Azure
    • AWS_ACCESS_KEY, AWS_SECRET_KEY e AWS_SESSION_TOKEN para AWS S3

    As opções de criptografia aceitas são:

    • TYPE = 'AWS_SSE_C' e MASTER_KEY para 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ê 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ível GROUP 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 e BINARYFILE.

  • VALIDATE

    Aplica-se a:verificação marcada como sim SQL do Databricks marca de seleção positiva 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, como VALIDATE 15 ROWS. A instrução COPY 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-chave ROWS).

  • 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ão false. Se definido como true, a idempotência será desativada, e os arquivos serão carregados mesmo que já tenham sido anteriormente carregados.
    • mergeSchema: booliano, padrão false. Se definido como true, 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

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 no
operationMetrics 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 para Carregador Automático, true para COPY INTO (herdado)
modifiedAfter
Digite: Timestamp String, por exemplo, 2021-01-01 00:00:00.000000 UTC+0
Um carimbo de data/hora opcional serve como filtro para ingerir apenas arquivos cuja data/hora de modificação seja posterior à data/hora fornecida.
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 como filtro para importar apenas arquivos cuja modificação tenha ocorrido 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 (herdado). fileNamePattern pode ser usado em read_files.
Valor padrão: nenhum
recursiveFileLookup
Digite: Boolean
Essa opção procura por diretórios aninhados mesmo que seus nomes não sigam um padrão de nomenclatura de partição, como date=2019-07-01.
Valor padrão: false

JSON opções

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.
Usar a opção badRecordsPath em uma fonte de dados baseada em arquivo tem as seguintes limitações:
  • Ele não é transacional e pode levar a resultados inconsistentes.
  • Erros transitórios são tratados como falhas.

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 como
true. 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 habilitando
inferSchema 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 Runtime
13.3 e superior.
Valor padrão: true
rescuedDataColumn
Digite: String
Se deve 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 de coluna) 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?.
COPY INTO (herdado) não dá suporte à coluna de dados resgatada porque você não pode definir manualmente o esquema usando COPY INTO. O Databricks recomenda o uso do Carregador Automático para a maioria dos cenários de ingestão.
Valor padrão: nenhum
singleVariantColumn
Digite: String
Se deve 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 opções

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 para escapar o '\' 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 aspas de fechamento.
  • Se o caractere de escape para '\' for definido como '\', o registro será lido com dois valores: [a\] e [b].

Valor padrão: '\0'
columnNameOfCorruptRecord
Com suporte para Carregador Automático. Não há suporte para COPY INTO (herdado).
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 usando
cloudFiles.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
Se é 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 de coluna) a 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?.
COPY INTO (herdado) não dá suporte à coluna de dados resgatada porque você não pode definir manualmente o esquema usando COPY INTO. O Databricks recomenda o uso do Carregador Automático para a maioria dos cenários de ingestão.
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 forem encontradas aspas sem escape na entrada, acumule o caractere de aspa e continue 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 as aspas não localizadas forem encontradas na entrada, o conteúdo analisado para o valor fornecido será ignorado (até que o próximo delimitador seja encontrado) e o valor definido em nullValue será produzido.
  • RAISE_ERROR: se aspas não localizadas forem encontradas na entrada, uma
    TextParsingException será lançada.

Valor padrão: STOP_AT_DELIMITER

XML opções

Opção Descrição Scope
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. leitura
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. leitura
excludeAttribute Se deve excluir os atributos em elementos. Padrão: false. leitura
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.
leitura
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.
leitura
columnNameOfCorruptRecord Permite renomear o novo campo que contém uma cadeia de caracteres malformada criada pelo
modo PERMISSIVE. Padrão: spark.sql.columnNameOfCorruptRecord.
leitura
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. leitura
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. leitura
ignoreNamespace Se true, os prefixos dos namespaces em elementos XML e atributos 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. leitura
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. leitura
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. gravação
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".
gravação
arrayElementName Nome do elemento XML que envolve cada elemento de uma coluna com valor de matriz durante a gravação. Padrão: item. gravação
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, e
deflate). As funções internas do XML ignoram essa opção. Padrão: none.
gravação
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.
gravação
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. leitura
rescuedDataColumn Se deve-se coletar todos os dados que não podem ser analisados devido a incompatibilidade de tipos de dados e de esquema (incluindo a diferença de caixa das colunas) 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?.
COPY INTO (herdado) não dá suporte à coluna de dados resgatada porque você não pode definir manualmente o esquema usando COPY INTO. O Databricks recomenda o uso do Carregador Automático para a maioria dos cenários de ingestão.
Padrão: nenhum.
leitura
singleVariantColumn Especifica o nome da única coluna variante. Se essa opção for especificada para leitura, faça o parsing de todo o registro XML em uma única coluna Variant, utilizando o valor fornecido da cadeia de caracteres da opção como nome da coluna. Se essa opção for fornecida para gravação, escreva o valor da única coluna Variant em arquivos XML. Padrão: none. leitura, gravação

PARQUET opções

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 e
CORRECTED.
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 e
CORRECTED.
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
Se é 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 de coluna) a 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?.
COPY INTO (herdado) não dá suporte à coluna de dados resgatada porque você não pode definir manualmente o esquema usando COPY INTO. O Databricks recomenda o uso do Carregador Automático para a maioria dos cenários de ingestão.
Valor padrão: nenhum

AVRO opções

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 e
CORRECTED.
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
Se é 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 de coluna) a uma coluna separada. Essa coluna é incluída por padrão ao usar o Carregador Automático.
COPY INTO (herdado) não dá suporte à coluna de dados resgatada porque você não pode definir manualmente o esquema usando COPY INTO. O Databricks recomenda o uso do Carregador Automático para a maioria dos cenários de ingestão.
Para obter mais detalhes, confira Qual é a coluna dados resgatados?.
Valor padrão: nenhum

BINARYFILE opções

Os arquivos binários não têm nenhuma opção de configuração adicional.

TEXT opções

Opção
encoding
Digite: String
O nome da codificação do separador de linha do arquivo de texto. Para obter uma lista de opções, consulte java.nio.charset.Charset.
O conteúdo do arquivo não é afetado por essa opção e é lido as-is.
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 opções

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