Opções do Auto Loader

As opções de configuração específicas para a origem do cloudFiles são prefixadas com cloudFiles de forma que estejam em um espaço de nome separado de outras opções de origem da transmissão estruturada.

Opções comuns do Auto Loader

Você pode configurar as seguintes opções para listagem de diretórios ou modo de notificação de arquivos.

Opção

cloudFiles.allowOverwrites

Tipo: Boolean

Se permitir que alterações no arquivo do diretório de entrada substituam os dados existentes.

Existem algumas ressalvas em relação à habilitação dessa configuração. Consulte O Auto Loader processa o arquivo novamente quando o arquivo é anexado ou substituído? para obter detalhes.

Valor default: false

cloudFiles.backfillInterval

Tipo: Interval String

O Auto Loader pode acionar backfills assíncronos em um determinado intervalo, por exemplo. 1 day para preencher uma vez por dia ou 1 week para preencher uma vez por semana. Os sistemas de notificação de eventos de arquivos não garantem 100% de entrega de todos os arquivos que foram carregados; portanto, o senhor pode usar backfills para garantir que todos os arquivos sejam processados, o que está disponível em Databricks Runtime 8.4 (EoS) e acima.

Valor padrão: Nenhum

cloudFiles.format

Tipo: String

O formato do arquivo de dados no caminho de origem. Os valores permitidos incluem:

Valor padrão: Nenhum (opção obrigatória)

cloudFiles.includeExistingFiles

Tipo: Boolean

Se os arquivos existentes devem ser incluídos no caminho de entrada do processamento da transmissão ou se devem ser processados somente os novos arquivos que chegarem após a configuração inicial. Essa opção é avaliada somente quando você inicia uma transmissão pela primeira vez. Alterar esta opção após reiniciar a transmissão não tem efeito.

Valor default: true

cloudFiles.inferColumnTypes

Tipo: Boolean

Se deve inferir os tipos exatos de coluna ao aproveitar a inferência de esquema. Por default, as colunas são inferidas como strings ao inferir datasets JSON e CSV. Consulte inferência de esquema para obter mais detalhes.

Valor default: false

cloudFiles.maxBytesPerTrigger

Tipo: Byte String

O número máximo de novos bytes a serem processados em cada gatilho. O senhor pode especificar uma cadeia de bytes, como 10g, para limitar cada microbatch a 10 GB de dados. Este é um máximo flexível. Se o senhor tiver arquivos de 3 GB cada, a Databricks processa 12 GB em um microbatch. Quando usado junto com cloudFiles.maxFilesPerTrigger, o Databricks consome até o limite inferior de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger, o que for atingido primeiro. Essa opção não tem efeito quando usada com Trigger.Once() (Trigger.Once() está obsoleto).

Valor padrão: Nenhum

cloudFiles.maxFileAge

Tipo: Interval String

Por quanto tempo um evento de arquivo é rastreado para fins de desduplicação. A Databricks não recomenda o ajuste desse parâmetro, a menos que o senhor esteja ingerindo dados da ordem de milhões de arquivos por hora. Consulte a seção sobre retenção de eventos para obter mais detalhes.

Ajustar cloudFiles.maxFileAge de forma muito agressiva pode causar problemas de qualidade de dados, como ingestão duplicada ou perda de arquivos. Portanto, a Databricks recomenda uma configuração conservadora para cloudFiles.maxFileAge, como 90 dias, que é semelhante ao que as soluções de ingestão de dados comparáveis recomendam.

Valor padrão: Nenhum

cloudFiles.maxFilesPerTrigger

Tipo: Integer

O número máximo de novos arquivos a serem processados em cada gatilho. Quando usado junto com cloudFiles.maxBytesPerTrigger, o Databricks consome até o limite mais baixo de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger, o que for atingido primeiro. Essa opção não tem efeito quando usada com Trigger.Once() (descontinuada).

Valor padrão: 1000

cloudFiles.partitionColumns

Tipo: String

Uma lista separada por vírgulas de colunas de partição no estilo Hive que o senhor gostaria que fossem inferidas da estrutura de diretório dos arquivos. Hive As colunas de partição de estilo são par key-valor combinadas por um sinal de igualdade, como <base-path>/a=x/b=1/c=y/file.format. Neste exemplo, as colunas de partição são a, b e c. Em default, essas colunas serão adicionadas automaticamente ao seu esquema se o senhor estiver usando inferência de esquema e fornecer o <base-path> para carregar os dados. Se o senhor fornecer um esquema, o Auto Loader espera que essas colunas sejam incluídas no esquema. Se você não quiser essas colunas como parte do seu esquema, você pode especificar "" para ignorar essas colunas. Além disso, o senhor pode usar essa opção quando quiser que as colunas sejam inferidas do caminho do arquivo em estruturas de diretório complexas, como no exemplo abaixo:

<base-path>/year=2022/week=1/file1.csv <base-path>/year=2022/month=2/day=3/file2.csv <base-path>/year=2022/month=2/day=4/file3.csv

Especificar cloudFiles.partitionColumns como year,month,day retornará year=2022 para file1.csv, mas as colunas month e day serão null. month e day serão analisados corretamente para file2.csv e file3.csv.

Valor padrão: Nenhum

cloudFiles.schemaEvolutionMode

Tipo: String

O modo de evolução do esquema à medida que novas colunas são descobertas nos dados. Por default, as colunas são inferidas como strings ao inferir datasets JSON. Consulte evolução do esquema para obter mais detalhes.

Valor padrão: "addNewColumns" quando um esquema não é fornecido. Caso contrário, "none".

cloudFiles.schemaHints

Tipo: String

Informações do esquema que você fornece ao Auto Loader durante a inferência do esquema. Consulte as dicas de esquema para obter mais detalhes.

Valor padrão: Nenhum

cloudFiles.schemaLocation

Tipo: String

O local para armazenar o esquema inferido e as alterações subsequentes. Consulte inferência de esquema para obter mais detalhes.

Valor padrão: Nenhum (necessário ao inferir o esquema)

cloudFiles.useStrictGlobber

Tipo: Boolean

Se o senhor deve usar um globber estrito que corresponda ao comportamento de globbing de default de outras fontes de arquivos em Apache Spark. Consulte Padrões comuns de carregamento de dados para obter mais detalhes. Disponível em Databricks Runtime 12.2 LTS e acima.

Valor default: false

cloudFiles.validateOptions

Tipo: Boolean

Se deve validar as opções do Auto Loader e retornar um erro para opções desconhecidas ou inconsistentes.

Valor default: true

Opções de listagem de diretórios

As seguintes opções são relevantes para o modo de listagem de diretórios.

Opção

cloudFiles.useIncrementalListing (obsoleto)

Tipo: String

Esse recurso foi descontinuado. A Databricks recomenda o uso do modo de notificação de arquivo em vez de cloudFiles.useIncrementalListing.

Se deve usar a listagem incremental em vez da listagem completa no modo de listagem de diretórios. Em default, Auto Loader faz o melhor esforço para detectar automaticamente se um determinado diretório é aplicável à listagem incremental. Você pode usar explicitamente a listagem incremental ou usar a listagem completa do diretório definindo-a como true ou false, respectivamente.

A ativação incorreta da listagem incremental em um diretório ordenado de forma não lógica impede que o Auto Loader descubra novos arquivos.

Funciona com o Azure Data Lake Storage Gen2 (abfss://), S3 (s3://) e GCS (gs://).

Disponível no Databricks Runtime 9.1 LTSe acima.

Valor default: auto

Valores disponíveis: auto, true, false

Opções de notificação de arquivo

As seguintes opções são relevantes para o modo de notificação de arquivo.

Opção

cloudFiles.fetchParallelism

Tipo: Integer

Número de segmentos a serem usados ao buscar mensagens do serviço de enfileiramento.

Valor padrão: 1

cloudFiles.pathRewrites

Tipo: uma string JSON

Obrigatório somente se você especificar um queueUrl que receba notificações de arquivo de vários buckets S3 e quiser aproveitar os pontos de montagem configurados para acessar dados nesses contêineres. Use esta opção para reescrever o prefixo do caminho bucket/key com o ponto de montagem. Somente prefixos podem ser reescritos. Por exemplo, para a configuração {"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"}, o caminho s3://<databricks-mounted-bucket>/path/2017/08/fileA.json é reescrito para dbfs:/mnt/data-warehouse/2017/08/fileA.json.

Valor padrão: Nenhum

cloudFiles.resourceTag

Tipo: Map(String, String)

Uma série de pares de tags de valor chave para ajudar a associar e identificar recursos relacionados, por exemplo:

cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue")     .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")

Para obter mais informações sobre AWS, consulte Amazon Alocação de custos de SQS tags e Configurando tags para um tópico de SNS Amazon . (1)

Para obter mais informações sobre Azure, consulte Naming Queues and Metadata e a cobertura de properties.labels em Event inscrição. Auto Loader armazena esses pares de tags key-value em JSON como rótulo. (1)

Para obter mais informações sobre GCP, consulte Reporting usage with rótulo. (1)

Valor padrão: Nenhum

cloudFiles.useNotifications

Tipo: Boolean

Se deve usar o modo de notificação de arquivos para determinar quando há novos arquivos. Se false, use o modo de listagem de diretórios. Consulte Comparar modos de detecção de arquivos do Auto Loader.

Valor default: false

(1) O Auto Loader adiciona os seguintes pares de tags de chave-valor por padrão com base no melhor esforço:

  • vendor: Databricks

  • path: O local de onde os dados são carregados. Indisponível no GCP devido a limitações de rotulagem.

  • checkpointLocation: A localização do ponto de verificação do fluxo. Indisponível no GCP devido a limitações de rotulagem.

  • streamId: um identificador globalmente exclusivo para a transmissão.

Esses nomes de keys são reservados e você não pode substituir seus valores.

Opções de formato de arquivo

Com o Auto Loader, você pode ingerir arquivos JSON, CSV, PARQUET, AVRO, TEXT, BINARYFILE e ORC.

Opções genéricas

As seguintes opções se aplicam a todos os formatos de arquivo.

Opção

ignoreCorruptFiles

Tipo: Boolean

Se deve ignorar arquivos corrompidos. Se for verdadeiro, o trabalho Spark continuará a ser executado ao encontrar arquivos corrompidos e o conteúdo que foi lido ainda será retornado. Observável como numSkippedCorruptFiles na coluna operationMetrics do site Delta Lake história. Disponível em Databricks Runtime 11.3 LTS e acima.

Valor default: false

ignoreMissingFiles

Tipo: Boolean

Se deve ignorar os arquivos ausentes. Se for verdadeiro, o trabalho Spark continuará a ser executado quando encontrar arquivos ausentes e o conteúdo que foi lido ainda será retornado. Disponível em Databricks Runtime 11.3 LTS e acima.

Valor padrão: false (true para COPY INTO)

modifiedAfter

Tipo: Timestamp String, por exemplo, 2021-01-01 00:00:00.000000 UTC+0

Um carimbo de data e hora opcional para ingerir arquivos com um carimbo de data e hora de modificação posterior ao carimbo fornecido.

Valor padrão: Nenhum

modifiedBefore

Tipo: Timestamp String, por exemplo, 2021-01-01 00:00:00.000000 UTC+0

Um carimbo de data e hora opcional para ingerir arquivos com um carimbo de data e hora de modificação antes do carimbo de data/hora fornecido.

Valor padrão: Nenhum

pathGlobFilter ou fileNamePattern

Tipo: String

Um padrão de glob potencial a ser fornecido para a escolha de arquivos. Equivalente a PATTERN em COPY INTO. fileNamePattern pode ser usado em read_files.

Valor padrão: Nenhum

recursiveFileLookup

Tipo: Boolean

Se deve pular a inferência de partição durante a inferência do esquema. Isso não afeta quais arquivos são carregados.

Valor default: false

JSON opções

Opção

allowBackslashEscapingAnyCharacter

Tipo: Boolean

Se deve permitir que barras invertidas () sejam usadas para escapar qualquer caractere que a suceda.Se não estiver habilitado, somente caracteres que são explicitamente listados pela especificação JSON podem ser escapados.

Valor default: false

allowComments

Tipo: Boolean

Se deve permitir ou não o uso de comentários no estilo Java, C e C++ (variedades '/', '*' e '//') no conteúdo analisado.

Valor default: false

allowNonNumericNumbers

Tipo: Boolean

Se o conjunto de tokens não é um número (NaN) deve ser permitido como valores numéricos flutuantes legais.

Valor default: true

allowNumericLeadingZeros

Tipo: Boolean

Se o senhor deve permitir que números integrais comecem com zeros adicionais (ignoráveis) (por exemplo, 000001).

Valor default: false

allowSingleQuotes

Tipo: Boolean

Se deve ser permitido o uso de aspas simples (apóstrofo, caractere '\') para citar strings (nomes e valores de String).

Valor default: true

allowUnquotedControlChars

Tipo: Boolean

Permitir ou não que as strings JSON contenham caracteres de controle sem escape (caracteres ASCII com valor menor que a 32, incluindo caracteres de tabulação e de avanço de linha).

Valor default: false

allowUnquotedFieldNames

Tipo: Boolean

Se deve permitir o uso de nomes de campo sem aspas (que são permitidos pelo JavaScript, mas não pela especificação JSON).

Valor default: false

badRecordsPath

Tipo: String

O caminho para armazenar arquivos que registram informações sobre registros JSON inválidos.

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 default: _corrupt_record

dateFormat

Tipo: String

O formato para analisar cadeias de caracteres de data.

Valor default: yyyy-MM-dd

dropFieldIfAllNull

Tipo: Boolean

Se deve ignorar colunas de todos os valores nulos ou matrizes e estruturas vazias durante a inferência do esquema.

Valor default: false

encoding ou charset

Tipo: String

O nome da codificação dos arquivos JSON. Consulte java.nio.charset.Charset para obter uma lista de opções. Você não pode usar UTF-16 e UTF-32 quando multiline for true.

Valor default: UTF-8

inferTimestamp

Tipo: Boolean

Se o senhor deve tentar inferir o registro de data e hora strings como TimestampType. Quando definida como true, a inferência do esquema pode levar muito mais tempo. O senhor deve ativar cloudFiles.inferColumnTypes para usar com o Auto Loader.

Valor default: false

lineSep

Tipo: String

Uma string entre dois registros JSON consecutivos.

Valor padrão: Nenhum, que cobre \r, \r\n e \n

locale

Tipo: String

Um identificador java.util.Locale. Influencia a data padrão, o carimbo de data e a análise decimal dentro do JSON.

Valor default: US

mode

Tipo: String

Modo analisador para trabalhar com registros malformados. Um de 'PERMISSIVE', 'DROPMALFORMED'ou 'FAILFAST'.

Valor default: PERMISSIVE

multiLine

Tipo: Boolean

Se os registros JSON abrangem múltiplas linhas.

Valor default: false

prefersDecimal

Tipo: Boolean

Tenta inferir strings como DecimalType ao invés de float ou tipo duplo quando possível. Você também deve usar a inferência de esquema, habilitando inferSchema ou usando cloudFiles.inferColumnTypes com o Auto Loader.

Valor default: false

primitivesAsString

Tipo: Boolean

Se inferir tipos primitivos como números e booleanos como StringType.

Valor default: false

readerCaseSensitive

Tipo: Boolean

Especifica o comportamento de diferenciação entre maiúsculas e minúsculas quando rescuedDataColumn está ativado. Se verdadeiro, recupere as colunas de dados cujos nomes diferem do esquema por maiúsculas e minúsculas; caso contrário, leia os dados sem diferenciar maiúsculas de minúsculas. Disponível em Databricks Runtime 13.3 e acima.

Valor default: true

rescuedDataColumn

Tipo: 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 default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados? .

Valor padrão: Nenhum

singleVariantColumn

Tipo: String

Se o documento JSON inteiro deve ser ingerido, analisado em uma única coluna Variant com as cadeias de caracteres fornecidas como o nome da coluna. Se estiver desativado, os campos JSON serão ingeridos em suas próprias colunas.

Valor padrão: Nenhum

timestampFormat

Tipo: String

O formato para analisar cadeias de caracteres de carimbo de data/hora.

Valor default: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

timeZone

Tipo: String

O java.time.ZoneId a ser usado ao analisar carimbos de data/hora e datas.

Valor padrão: Nenhum

CSV opções

Opção

badRecordsPath

Tipo: String

O caminho para armazenar arquivos para registrar as informações sobre registros CSV ruins.

Valor padrão: Nenhum

charToEscapeQuoteEscaping

Tipo: Char

O caractere usado para escapar do caractere usado para escapar das citações. Por exemplo, para o seguinte registro: [ " a\\", b ]:

  • Se o caractere para escapar do '\' estiver indefinido, o registro não será analisado. O analisador lerá caracteres: [a],[\],["],[,],[ ],[b] e gerará um erro porque não consegue encontrar uma aspa de fechamento.

  • Se o caractere para escapar do '\' for definido como '\', o registro será lido com valores de 2: [a\] e [b].

Valor default: '\0'

columnNameOfCorruptRecord

Suportado pelo Auto Loader. Não é compatível com COPY INTO.

Tipo: String

A coluna para armazenar registros que estão malformados e não podem ser analisados. Se o mode para análise estiver definido como DROPMALFORMED, esta coluna estará vazia.

Valor default: _corrupt_record

comment

Tipo: Char

Define o caractere que representa um comentário de linha quando encontrado no início de uma linha de texto. Use '\0' para desativar a omissão de comentários.

Valor default: '\u0000'

dateFormat

Tipo: String

O formato para analisar cadeias de caracteres de data.

Valor default: yyyy-MM-dd

emptyValue

Tipo: String

Representação de string de um valor vazio.

Valor default: ""

encoding ou charset

Tipo: String

O nome da codificação dos arquivos CSV. Consulte java.nio.charset.Charset para obter a lista de opções. UTF-16 e UTF-32 não podem ser utilizados quando multiline é true.

Valor default: UTF-8

enforceSchema

Tipo: 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 é ignorada por padrão ao usar o Auto Loader para resgatar dados e permitir a evolução do esquema.

Valor default: true

escape

Tipo: Char

O caractere de escape a ser usado ao analisar os dados.

Valor default: '\'

header

Tipo: Boolean

Se os arquivos CSV contêm um cabeçalho. O Auto Loader pressupõe que os arquivos tenham cabeçalhos ao inferir o esquema.

Valor default: false

ignoreLeadingWhiteSpace

Tipo: Boolean

Se deve ignorar os principais espaços em branco para cada valor analisado.

Valor default: false

ignoreTrailingWhiteSpace

Tipo: Boolean

Se devem ser ignorados os espaços em branco à direita para cada valor analisado.

Valor default: false

inferSchema

Tipo: Boolean

Se deve inferir os tipos de dados dos registros CSV analisados ou assumir que todas as colunas são de StringType. Exige um passe adicional sobre os dados se configurado para true. Para o Auto Loader, use cloudFiles.inferColumnTypes em vez disso.

Valor default: false

lineSep

Tipo: String

Uma string entre dois registros CSV consecutivos.

Valor padrão: Nenhum, que cobre \r, \r\n e \n

locale

Tipo: String

Um identificador java.util.Locale. Influencia a data padrão, o carimbo de data e a análise decimal dentro do CSV.

Valor default: US

maxCharsPerColumn

Tipo: Int

Número máximo de caracteres esperado de um valor para analisar. Pode ser usado para evitar erros de memória. O padrão é -1, o que significa ilimitado.

Valor default: -1

maxColumns

Tipo: Int

O limite rígido de quantas colunas um registro pode ter.

Valor default: 20480

mergeSchema

Tipo: Boolean

Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. Habilitado por padrão para o Auto Loader ao inferir o esquema.

Valor default: false

mode

Tipo: String

Modo de analisador para trabalhar com registros malformados. Um dos 'PERMISSIVE', 'DROPMALFORMED' e 'FAILFAST'.

Valor default: PERMISSIVE

multiLine

Tipo: Boolean

Se os registros CSV abrangem várias linhas.

Valor default: false

nanValue

Tipo: String

A representação de string de um valor não numérico ao analisar colunas FloatType e DoubleType .

Valor default: "NaN"

negativeInf

Tipo: String

A representação de string do infinito negativo ao analisar colunas FloatType ou DoubleType.

Valor default: "-Inf"

nullValue

Tipo: String

Representação de string de um valor nulo.

Valor default: ""

parserCaseSensitive (obsoleto)

Tipo: Boolean

Durante a leitura de arquivos, verifique se as colunas declaradas no cabeçalho devem ser alinhadas com o esquema com diferenciação de maiúsculas e minúsculas. Isso é true por padrão para o Auto Loader. As colunas que diferem por maiúsculas e minúsculas serão resgatadas no rescuedDataColumn se habilitadas. Esta opção foi preterida a favor de readerCaseSensitive.

Valor default: false

positiveInf

Tipo: String

A representação de string do infinito positivo ao analisar colunas FloatType ou DoubleType.

Valor default: "Inf"

preferDate

Tipo: Boolean

Tenta inferir strings 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 Auto Loader.

Valor default: true

quote

Tipo: Char

O caractere usado para escapar de valores onde o delimitador de campo faz parte do valor.

Valor default: "

readerCaseSensitive

Tipo: Boolean

Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por maiúsculas e minúsculas do esquema; caso contrário, leia os dados de maneira que não diferencie maiúsculas de minúsculas.

Valor default: true

rescuedDataColumn

Tipo: String

Se deve 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 de coluna) em uma coluna separada. Essa coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados? .

Valor padrão: Nenhum

sep ou delimiter

Tipo: String

A string separadora entre colunas.

Valor default: ","

skipRows

Tipo: Int

O número de linhas do 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 default: 0

timestampFormat

Tipo: String

O formato para analisar cadeias de caracteres de carimbo de data/hora.

Valor default: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

timeZone

Tipo: String

O java.time.ZoneId a ser usado ao analisar carimbos de data/hora e datas.

Valor padrão: Nenhum

unescapedQuoteHandling

Tipo: String

A estratégia para lidar com cotações sem escape. Opções permitidas:

  • STOP_AT_CLOSING_QUOTE: Caso sejam encontradas aspas não escapadas na entrada, acumule o caractere de aspas e continue a análise do valor como um valor entre aspas, até encontrar uma aspa de fechamento.

  • BACK_TO_DELIMITER: Se citações sem formato forem encontradas na entrada, considere o valor como um valor sem aspas. Isto fará com que o analisador acumule todos os caracteres do valor analisado atual até que o delimitador definido por sep seja localizado. Se nenhum delimitador for encontrado no valor, o analisador continuará acumulando caracteres da entrada até encontrar um delimitador ou o fim da linha.

  • STOP_AT_DELIMITER: Se citações sem formato forem encontradas 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 um final de linha seja encontrado na entrada.

  • SKIP_VALUE: Se citações sem formato 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 forem encontradas aspas sem escape na entrada, um TextParsingException será lançado.

Valor default: STOP_AT_DELIMITER

XML opções

Opção

Descrição

Escopo

rowTag

A tag de linha dos arquivos XML a ser tratada como uma linha. No exemplo XML <books> <book><book>...<books>, o valor apropriado é book. Essa é uma opção obrigatória.

Ler

samplingRatio

Define uma fração das linhas usadas para inferência de esquema. As funções XML integradas ignoram essa opção. Padrão: 1.0.

Ler

excludeAttribute

Se deve excluir atributos em elementos. Padrão: false.

Ler

mode

Mode para lidar com registros corrompidos durante a análise.

PERMISSIVE: Para registros corrompidos, coloca as cadeias de caracteres malformadas em um campo configurado por columnNameOfCorruptRecord e define os campos malformados como null. Para manter registros corrompidos, você pode definir um campo do tipo string chamado columnNameOfCorruptRecord em um esquema definido pelo usuário. Se um esquema não tiver o campo, os registros corrompidos serão eliminados durante a análise. Ao inferir um esquema, o analisador adiciona implicitamente um campo columnNameOfCorruptRecord em um esquema de saída.

DROPMALFORMED: ignora registros corrompidos. Esse modo não é compatível com as funções integradas de 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 DataFrame resultante. Se false, todas as colunas resultantes serão do tipo string. padrão: true. As funções XML integradas ignoram essa opção.

Ler

columnNameOfCorruptRecord

Permite renomear o novo campo que contém uma cadeia de caracteres malformada criada pelo modo PERMISSIVE. padrão: spark.sql.columnNameOfCorruptRecord.

Ler

attributePrefix

O prefixo dos atributos para diferenciar os atributos dos elementos. Esse será o prefixo para nomes de campo. O padrão é _. Pode estar vazio para ler XML, mas não para escrever.

ler, escrever

valueTag

A tag 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 do caractere estiverem presentes em elementos com outros elementos ou atributos. padrão: _VALUE

ler, escrever

encoding

Para leitura, decodifica os arquivos XML pelo tipo de codificação fornecido. Para gravação, especifica a codificação (conjunto de caracteres) dos arquivos XML salvos. As funções XML integradas 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 com espaços 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 falham na validação são tratadas como erros de análise, conforme descrito acima. De outra forma, o XSD não afeta o esquema fornecido ou inferido.

Ler

ignoreNamespace

Se true, os prefixos dos namespaces em elementos e atributos XML serão ignorados. As 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, somente em seus filhos lidos. A análise de XML não reconhece namespaces, mesmo que seja false. Padrão: false.

Ler

timestampFormat

Cadeias de formato de carimbo de data/hora personalizadas que seguem o formato padrão datetime. Isso se aplica ao tipo timestamp. padrão: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX].

ler, escrever

timestampNTZFormat

Strings 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]

ler, escrever

dateFormat

Cadeias de formato de data personalizadas que seguem o formato padrão datetime. Isso se aplica ao tipo de data. Padrão: yyyy-MM-dd.

ler, escrever

locale

Define uma localidade como uma tag de idioma no formato IETF BCP 47. Por exemplo, locale é usado ao analisar datas e carimbos de data/hora. padrão: en-US.

Ler

rootTag

Raiz tag 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.

Gravar

declaration

Conteúdo da declaração XML a ser gravada no início de cada arquivo XML de saída, antes do rootTag. Por exemplo, um valor de foo faz com que <?xml foo?> seja escrito. Defina como uma cadeia de caracteres vazia para suprimir. padrão: version="1.0" encoding="UTF-8" standalone="yes".

Gravar

arrayElementName

Nome do elemento XML que envolve cada elemento de uma coluna com valor de matriz ao escrever. Padrão: item.

Gravar

nullValue

Define a representação de strings de um valor nulo. padrão: strings null. Quando isso é null, o analisador não grava atributos e elementos para campos.

ler, escrever

compression

Código de compressão a ser usado ao salvar em um arquivo. Esse 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 XML integradas ignoram essa opção. Padrão: none.

Gravar

validateName

Se verdadeiro, gera um erro na 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.

Gravar

readerCaseSensitive

Especifica o comportamento de diferenciação entre maiúsculas e minúsculas quando RescuedDataColumn está habilitado. Se verdadeiro, recupere as colunas de dados cujos nomes diferem do esquema por maiúsculas e minúsculas; caso contrário, leia os dados sem diferenciar maiúsculas de minúsculas. Padrão: true.

Ler

rescuedDataColumn

Se deve 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 de coluna) em uma coluna separada. Essa coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados? . padrão: Nenhum.

Ler

PARQUET opções

Opção

datetimeRebaseMode

Tipo: String

Controla o rebase dos valores de DATA e TIMESTAMP entre calendários gregorianos julianos e prolóticos. Valores permitidos: EXCEPTION, LEGACY e CORRECTED.

Valor default: LEGACY

int96RebaseMode

Tipo: String

Controla a rebase dos valores de carimbo de data/hora INT96 entre os calendários Juliano e Gregoriano Proléptico. Valores permitidos: EXCEPTION, LEGACY e CORRECTED.

Valor default: LEGACY

mergeSchema

Tipo: Boolean

Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo.

Valor default: false

readerCaseSensitive

Tipo: Boolean

Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por maiúsculas e minúsculas do esquema; caso contrário, leia os dados de maneira que não diferencie maiúsculas de minúsculas.

Valor default: true

rescuedDataColumn

Tipo: String

Se deve 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 de coluna) em uma coluna separada. Essa coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados? .

Valor padrão: Nenhum

AVRO opções

Opção

avroSchema

Tipo: String

Esquema opcional fornecido por um usuário no formato Avro. Ao ler o Avro, essa opção pode ser definida como um esquema evoluído, que é compatível, mas diferente do esquema real do Avro. 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 o rebase dos valores de DATA e TIMESTAMP entre calendários gregorianos julianos e prolóticos. Valores permitidos: EXCEPTION, LEGACY e CORRECTED.

Valor default: 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 default: false

readerCaseSensitive

Tipo: Boolean

Especifica o comportamento de diferenciação de maiúsculas e minúsculas quando rescuedDataColumn está habilitado. Se verdadeiro, resgate as colunas de dados cujos nomes diferem por maiúsculas e minúsculas do esquema; caso contrário, leia os dados de maneira que não diferencie maiúsculas de minúsculas.

Valor default: true

rescuedDataColumn

Tipo: String

Se deve 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 de coluna) em uma coluna separada. Essa coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados resgatados? .

Valor padrão: Nenhum

BINARYFILE opções

Arquivos binários não têm opções de configuração adicionais.

TEXT opções

Opção

encoding

Tipo: String

O nome da codificação dos arquivos TEXT. Consulte java.nio.charset.Charset para obter uma lista de opções.

Valor default: UTF-8

lineSep

Tipo: String

Uma string entre dois registros TEXT consecutivos.

Valor padrão: Nenhum, que cobre \r, \r\n e \n

wholeText

Tipo: Boolean

Se deve ler um arquivo como um único registro.

Valor default: 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 default: false

Opções específicas de nuvem

O Auto Loader oferece uma série de opções para configurar a infraestrutura de nuvem.

Opções específicas do AWS

Forneça a seguinte opção somente se você escolher cloudFiles.useNotifications = true e desejar que o Auto Loader configure os serviços de notificação para você:

Opção

cloudFiles.region

Tipo: String

A região onde o bucket do S3 de origem reside e onde os serviços do AWS SNS e do SQS serão criados.

valor padrão: A região da instância EC2.

Forneça a seguinte opção apenas se escolher cloudFiles.useNotifications = true e pretender que o Auto Loader utilize uma fila que já configurou:

Opção

cloudFiles.queueUrl

Tipo: String

O URL da fila SQS. Se fornecido, o Auto Loader consome diretamente os eventos dessa fila em vez de configurar seus próprios serviços AWS SNS e SQS.

Valor padrão: Nenhum

Você pode utilizar as opções a seguir para fornecer credenciais de acesso ao AWS SNS e SQS quando as IAM roles não estão disponíveis ou quando você está coletando dados de diferentes.

Opção

cloudFiles.awsAccessKey

Tipo: String

A ID da chave de acesso AWS para o usuário. Deve ser fornecido com cloudFiles.awsSecretKey.

Valor padrão: Nenhum

cloudFiles.awsSecretKey

Tipo: String

A chave de acesso secreto da AWS para o usuário. Deve ser fornecido com cloudFiles.awsAccessKey.

Valor padrão: Nenhum

cloudFiles.roleArn

Tipo: String

O ARN de uma IAM role a ser assumida. O papel pode ser assumido a partir do instance profile do seu cluster ou fornecendo credenciais com cloudFiles.awsAccessKey e cloudFiles.awsSecretKey.

Valor padrão: Nenhum

cloudFiles.roleExternalId

Tipo: String

Um identificador a ser fornecido ao assumir uma função usando cloudFiles.roleArn.

Valor padrão: Nenhum

cloudFiles.roleSessionName

Tipo: String

Um nome de sessão opcional para utilizar ao assumir um papel utilizando cloudFiles.roleArn.

Valor padrão: Nenhum

cloudFiles.stsEndpoint

Tipo: String

Um ponto final opcional a ser fornecido para acessar o AWS STS ao assumir uma função utilizando o cloudFiles.roleArn.

Valor padrão: Nenhum

Opções específicas do Azure

Você deve fornecer valores para todas as seguintes opções se especificar cloudFiles.useNotifications = true e desejar que o Auto Loader configure os serviços de notificação para você:

Opção

cloudFiles.clientId

Tipo: String

A ID do cliente ou ID da aplicação da entidade do serviço.

Valor padrão: Nenhum

cloudFiles.clientSecret

Tipo: String

O segredo do cliente da entidade de serviço.

Valor padrão: Nenhum

cloudFiles.connectionString

Tipo: String

A string de caracteres de conexão para a conta de armazenamento, com base na chave de acesso à conta ou na assinatura de acesso compartilhado (SAS).

Valor padrão: Nenhum

cloudFiles.resourceGroup

Tipo: String

O Grupo de Recursos do Azure sob o qual a conta de armazenamento é criada.

Valor padrão: Nenhum

cloudFiles.subscriptionId

Tipo: String

O ID de assinatura do Azure sob o qual o grupo de recursos é criado.

Valor padrão: Nenhum

cloudFiles.tenantId

Tipo: String

A ID do tenant do Azure sob a qual a entidade de serviço é criada.

Valor padrão: Nenhum

Importante

A configuração de notificação automática está disponível nas regiões Azure China e Government com Databricks Runtime 9.1e acima. Você deve fornecer um queueName para usar o Auto Loader com notificações de arquivo nessas regiões para versões mais antigas do DBR.

Forneça a seguinte opção apenas se escolher cloudFiles.useNotifications = true e pretender que o Auto Loader utilize uma fila que já configurou:

Opção

cloudFiles.queueName

Tipo: String

O nome da fila Azure. Se fornecida, a origem dos arquivos de nuvem consome diretamente os eventos dessa fila em vez de configurar seus próprios serviços de Armazenamento de Filas e Grade de Eventos do Azure. Nesse caso, seu cloudFiles.connectionString exige apenas permissões de leitura na fila.

Valor padrão: Nenhum

Opções específicas do Google

O Auto Loader pode configurar automaticamente os serviços de notificação para você aproveitando as Contas de serviço do Google. Você pode configurar seu cluster para assumir uma conta de serviço seguindo a configuração de serviço do Google. As permissões de que sua conta de serviço precisa são especificadas em O que é o modo de notificação de arquivo do Auto Loader?. Caso contrário, você poderá fornecer as seguintes opções de autenticação se desejar que o Auto Loader configure os serviços de notificação para você.

Opção

cloudFiles.client

Tipo: String

A ID do cliente da conta do Google Service.

Valor padrão: Nenhum

cloudFiles.clientEmail

Tipo: String

O e-mail da Conta de Serviço do Google.

Valor padrão: Nenhum

cloudFiles.privateKey

Tipo: String

A chave privada gerada para a conta de serviço do Google.

Valor padrão: Nenhum

cloudFiles.privateKeyId

Tipo: String

A ID da chave privada gerada para a conta de serviço do Google.

Valor padrão: Nenhum

cloudFiles.projectId

Tipo: String

O ID do projeto em que o bucket do GCS está. A assinatura do Google Cloud Pub/Subscrição também será criada dentro deste projeto.

Valor padrão: Nenhum

Forneça a seguinte opção apenas se escolher cloudFiles.useNotifications = true e pretender que o Auto Loader utilize uma fila que já configurou:

Opção

cloudFiles.subscription

Tipo: String

O nome da assinatura do Google Cloud Pub/Sub. Se fornecido, a fonte de arquivos na nuvem consome eventos desta fila em vez de configurar seus próprios serviços de Notificação GCS e Google Cloud Pub/Sub.

Valor padrão: Nenhum