Partilhar via


COPY INTO

Aplica-se a:marcado como sim Databricks SQL marcado como sim Databricks Runtime

Carrega dados de um local de arquivo em uma tabela Delta. Esta é uma operação repetível e idempotente — Os ficheiros 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 uma localização, como: delta.`/path/to/table` , o Unity Catalog pode controlar o acesso às localizações para os quais se está a escrever. Você pode escrever num local externo através de:

    • Definir o local como um local externo e ter WRITE FILES permissões nesse local externo.

    • Ter permissões WRITE FILES numa credencial de armazenamento nomeada que forneçam autorização para escrever num local usando: COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)

    Consulte Conectar-se ao armazenamento de objetos na nuvem usando o Unity Catalog para obter mais detalhes.

  • 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 é utilizada para esse fim.
      • IDENTITY colunas e GENERATED colunas da tabela de destino são ignoradas durante o processo de correspondência com as 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 e os nomes originais das colunas da tabela não são usados para fazer a correspondência.
      • IDENTITY colunas e GENERATED colunas não podem ser especificadas na lista de nomes de colunas, caso contrário, COPY 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 atribui NULL o contrário. Se qualquer coluna não for anulável, COPY INTO gerará um erro.
  • 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 em linha.

    • 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 nomeada com permissões READ FILES que fornecem autorização para ler de um local através 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 e Armazenamento de Blobs do Azure
    • AWS_ACCESS_KEY, AWS_SECRET_KEYe AWS_SESSION_TOKEN para o AWS S3

    As opções de encriptação aceites são:

    • TYPE = 'AWS_SSE_C'e MASTER_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 utilizada 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. Um dos CSV, JSON, AVRO, ORC, PARQUET, TEXT, BINARYFILE.

  • VALIDATE

    Aplica-se a:Sim assinalado Databricks SQL Sim assinalado 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, como VALIDATE 15 ROWS. A instrução COPY INTO retorna uma visualização dos dados de 50 linhas ou menos quando um número menor que 50 é utilizado com a palavra-chave ROWS.

  • 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 Descrição
    ? Corresponde a qualquer caractere
    * Corresponde a zero caracteres ou mais
    [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}. Note 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ão false. Se definido como true, a idempotência é desativada e os arquivos são carregados independentemente de já terem sido carregados anteriormente.
    • mergeSchema: booleano, padrão false. Se definido como true, 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 processado 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

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 na
operationMetrics coluna da história do Lago Delta. Disponível em Databricks Runtime 11.3 LTS e superior.
Valor predefinido: false
ignoreMissingFiles
Tipo: Boolean
Se os ficheiros em falta devem ser ignorados. 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 para Auto Loader, true para COPY INTO (legado)
modifiedAfter
Tipo: Timestamp String, por exemplo, 2021-01-01 00:00:00.000000 UTC+0
Um carimbo de data/hora opcional como filtro para processar apenas ficheiros com um carimbo de data/hora de modificação posterior ao 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 como filtro para ingerir apenas 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 potencial padrão de glob para escolher arquivos. Equivalente a
PATTERN em COPY INTO (antigo). fileNamePattern pode ser usado em read_files.
Valor padrão: Nenhum
recursiveFileLookup
Tipo: Boolean
Esta opção pesquisa diretórios aninhados, mesmo que seus nomes não sigam um esquema de nomenclatura de partição como date=2019-07-01.
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 ativado, apenas os caracteres que estão explicitamente listados na 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
Permitir que o conjunto de tokens "not-a-number" (NaN) seja considerado como valores de número flutuante válidos.
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 que registrem as informações sobre registos JSON incorretos.
Usar a badRecordsPath opção em uma fonte de dados baseada em arquivo tem as seguintes limitações:
  • Não é transacional e pode levar a resultados inconsistentes.
  • Os erros transitórios são tratados como falhas.

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 para 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 strings de data/hora como um TimestampType." Quando definido como
true, a inferência do esquema pode levar visivelmente mais tempo. Você deve habilitar cloudFiles.inferColumnTypes para usar 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\ne \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 analisador para a manipulação de registos malformados. Um de PERMISSIVE, DROPMALFORMEDou 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 como DecimalType em vez de tipo float ou double quando possível. Você também deve usar a inferência de esquema, ao habilitar
inferSchema ou usando cloudFiles.inferColumnTypes com Auto Loader.
Valor predefinido: false
primitivesAsString
Tipo: Boolean
Se se deve inferir tipos primitivos, como números e booleanos, como StringType.
Valor predefinido: false
readerCaseSensitive
Tipo: Boolean
Especifica o comportamento de distinção entre maiúsculas e minúsculas quando rescuedDataColumn está ativado. Se verdadeiro, recupere as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados sem diferenciar maiúsculas de minúsculas. Disponível no Databricks Runtime
13.3 ou superior.
Valor predefinido: true
rescuedDataColumn
Tipo: String
Determinar se todos os dados que não podem ser processados devido a uma incompatibilidade de tipo de dados ou incompatibilidade de esquema (incluindo o casing das colunas) devem ser recolhidos numa 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?.
COPY INTO (legado) não suporta a coluna de dados resgatados porque não é possível definir manualmente o esquema usando COPY INTO. A Databricks recomenda o uso do Auto Loader para a maioria dos cenários de ingestão.
Valor padrão: Nenhum
singleVariantColumn
Tipo: String
Ingerir o documento JSON inteiro, analisado e transformado numa única coluna do tipo Variant, utilizando a string fornecida como nome da coluna. Se desativado, os campos JSON serão inseridos nas suas próprias colunas.
Valor padrão: Nenhum
timestampFormat
Tipo: String
O formato para analisar strings de data e hora.
Valor predefinido: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
Tipo: String
O java.time.ZoneId a utilizar ao analisar horários e datas.
Valor padrão: Nenhum

CSV Opções

Opção
badRecordsPath
Tipo: String
O caminho para armazenar ficheiros para registar as informações sobre registos CSV problemáticos.
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 ser escapado 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 para escapar do '\' 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 (legado).
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 desligar a omissão 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 para 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 devem ser ignorados os espaços em branco à esquerda 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\ne \n
locale
Tipo: String
Um java.util.Locale identificador. Influencia as definições padrão para data, o timestamp e a interpretação de decimais 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 é -1, o 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 analisador para a manipulação de registos malformados. Um dos 'PERMISSIVE',
'DROPMALFORMED', 'FAILFAST'.
Valor predefinido: PERMISSIVE
multiLine
Tipo: Boolean
Se os registros CSV abrangem várias linhas.
Valor predefinido: false
nanValue
Tipo: String
A representação em cadeia de caracteres de um valor não numérico ao analisar as colunas FloatType e DoubleType.
Valor predefinido: "NaN"
negativeInf
Tipo: String
A representação textual do infinito negativo ao processar as colunas FloatType ou DoubleType.
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 ficheiros, deve-se determinar se as colunas declaradas no cabeçalho devem ser alinhadas com o esquema, respeitando a distinção entre maiúsculas e minúsculas. Isso é true por padrão para o Auto Loader. As colunas que diferem apenas pelo uso de letras maiúsculas serão resgatadas no rescuedDataColumn se estiver ativado. Esta opção foi preterida em favor do readerCaseSensitive.
Valor predefinido: false
positiveInf
Tipo: String
A representação em cadeia de caracteres do infinito positivo ao analisar as colunas FloatType ou DoubleType.
Valor predefinido: "Inf"
preferDate
Tipo: Boolean
Tenta inferir cadeias de caracteres como as datas em vez de marca temporal quando possível. Você também deve usar a inferência de esquema, ativando a opção inferSchema ou usando
cloudFiles.inferColumnTypes com carregador automático.
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 distinção entre maiúsculas e minúsculas quando rescuedDataColumn está ativado. Se verdadeiro, recupere as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados sem diferenciar maiúsculas de minúsculas.
Valor predefinido: true
rescuedDataColumn
Tipo: String
Se todos os dados que não podem ser interpretados devido a: uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo diferenciação de maiúsculas e minúsculas nas colunas) devem ser coletados numa 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?.
COPY INTO (legado) não suporta a coluna de dados resgatados porque não é possível definir manualmente o esquema usando COPY INTO. A Databricks recomenda o uso do Auto Loader para a maioria dos cenários de ingestão.
Valor padrão: Nenhum
sep ou delimiter
Tipo: String
A sequência de caracteres usada para separar 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 strings de data e hora.
Valor predefinido: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
Tipo: String
O java.time.ZoneId a utilizar ao analisar horários e datas.
Valor padrão: Nenhum
unescapedQuoteHandling
Tipo: String
A estratégia para lidar com citações não escapadas. Opções permitidas:
  • STOP_AT_CLOSING_QUOTE: Se forem encontradas aspas sem escape na entrada, acumule o caractere de aspa e prossiga analisando o valor como um valor entre aspas, até que uma aspa de fecho 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, um
    TextParsingException será lançado.

Valor predefinido: STOP_AT_DELIMITER

XML Opções

Opção Descrição Âmbito de aplicação
rowTag A etiqueta de linha dos ficheiros XML a serem tratados como uma linha. No exemplo XML <books> <book><book>...<books>, o valor apropriado é book. Esta é uma opção necessária. ler
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. ler
excludeAttribute Se os atributos devem ser excluídos em elementos. Padrão: false. ler
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.
ler
inferSchema Se true, tenta inferir um tipo apropriado para cada coluna do 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.
ler
columnNameOfCorruptRecord Permite renomear o novo campo que contém uma cadeia de caracteres malformada criada por
PERMISSIVE modo. Padrão: spark.sql.columnNameOfCorruptRecord.
ler
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 etiqueta usada para os dados de caracteres dentro de elementos que também possuem atributos ou subelementos. 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. ler
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, de outra forma, não afeta o esquema fornecido ou inferido. ler
ignoreNamespace Se true, os prefixos dos namespaces em elementos e atributos XML são 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 no elemento rowTag, apenas nos seus elementos filhos de leitura. A análise XML não reconhece namespace, mesmo que false. Padrão: false. ler
timestampFormat Sequência de formato de timestamp personalizada que segue o 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 que não inclui fuso horário e segue o padrão de data e hora. 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 personalizado que segue o esquema de formato datetime pattern. 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 marcadores temporais. Padrão: en-US. ler
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. escrever
declaration Conteúdo da declaração XML a ser gravada no início de cada ficheiro XML de saída, antes do rootTag. Por exemplo, um valor de foo causa que <?xml foo?> seja gravado. Defina para uma cadeia de caracteres vazia para suprimir. Predefinição: version="1.0"
encoding="UTF-8" standalone="yes".
escrever
arrayElementName Nome do elemento XML que envolve cada elemento de uma coluna com valor de matriz ao ser escrito. Padrão: item. escrever
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 que não distinguem entre maiúsculas e minúsculas (none, bzip2, gzip, lz4, snappy)
deflate). As funções internas XML ignoram essa opção. Padrão: none.
escrever
validateName Se for verdadeiro, lança um erro caso falhe a 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.
escrever
readerCaseSensitive Especifica como funciona a diferenciação entre maiúsculas e minúsculas quando a funcionalidade rescuedDataColumn está ativada. Se verdadeiro, recupere as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados sem diferenciar maiúsculas de minúsculas. Padrão: true. ler
rescuedDataColumn Se devem ser recolhidos todos os dados que não podem ser analisados devido a uma incompatibilidade de tipos de dados e de esquema (incluindo a capitalização das colunas) 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?.
COPY INTO (legado) não suporta a coluna de dados resgatados porque não é possível definir manualmente o esquema usando COPY INTO. A Databricks recomenda o uso do Auto Loader para a maioria dos cenários de ingestão.
Padrão: Nenhum.
ler
singleVariantColumn Especifica o nome da coluna de variante única. Se esta opção for especificada para leitura, processe todo o registo XML numa única coluna Variant, com o valor do parâmetro de opção fornecido como o nome da coluna. Se esta opção for fornecida, escreva o valor da única coluna Variant em ficheiros XML. Padrão: none. ler, escrever

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, LEGACYe
CORRECTED.
Valor predefinido: LEGACY
int96RebaseMode
Tipo: String
Gestiona o rebase dos valores de timestamps INT96 entre os calendários Juliano e Gregoriano Proléptico. Valores permitidos: EXCEPTION, LEGACYe
CORRECTED.
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 distinção entre maiúsculas e minúsculas quando rescuedDataColumn está ativado. Se verdadeiro, recupere as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados sem diferenciar maiúsculas de minúsculas.
Valor predefinido: true
rescuedDataColumn
Tipo: String
Se todos os dados que não podem ser interpretados devido a: uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo diferenciação de maiúsculas e minúsculas nas colunas) devem ser coletados numa 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?.
COPY INTO (legado) não suporta a coluna de dados resgatados porque não é possível definir manualmente o esquema usando COPY INTO. A Databricks recomenda o uso do Auto Loader para a maioria dos cenários de ingestão.
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, LEGACYe
CORRECTED.
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 os tipos de dados.
Valor predefinido: false
readerCaseSensitive
Tipo: Boolean
Especifica o comportamento de distinção entre maiúsculas e minúsculas quando rescuedDataColumn está ativado. Se verdadeiro, recupere as colunas de dados cujos nomes diferem por caso do esquema; caso contrário, leia os dados sem diferenciar maiúsculas de minúsculas.
Valor predefinido: true
rescuedDataColumn
Tipo: String
Se todos os dados que não podem ser interpretados devido a: uma incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo diferenciação de maiúsculas e minúsculas nas colunas) devem ser coletados numa coluna separada. Esta coluna é incluída por padrão ao usar o Auto Loader.
COPY INTO (legado) não suporta a coluna de dados resgatados porque não é possível definir manualmente o esquema usando COPY INTO. A Databricks recomenda o uso do Auto Loader para a maioria dos cenários de ingestão.
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 do separador de linha do arquivo TEXT. Para obter uma lista de opções, consulte java.nio.charset.Charset.
O conteúdo do ficheiro não é afetado por esta opção e é lido as-is.
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