Referência de opçõesSpark API
Esta página lista as opções de entrada e saída disponíveis para as APIs do Spark que leem e gravam dados.
Opções do DataFrameReader
Use estas opções com DataFrameReader.option(), DataFrameReader.options(), read_files, COPY INTO e Auto Loader para controlar como o Databricks lê os arquivos de dados.
Exemplo
O exemplo a seguir define multiLine como True para leitura de arquivos JSON:
- Python
- Scala
- SQL
df = spark.read.format("json").option("multiLine", True).load("/path/to/data")
val df = spark.read.format("json").option("multiLine", "true").load("/path/to/data")
SELECT * FROM read_files("/path/to/data", format => "json", multiLine => true)
Comum
As seguintes opções se aplicam a todos os formatos de arquivo.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Se deve ignorar ou não os arquivos corrompidos. Se isso for verdade, o trabalho Spark continuará a ser executado ao encontrar arquivos corrompidos e o conteúdo que já foi lido ainda será retornado. Para |
|
|
| Se deve ignorar ou não os ficheiros em falta. Se isso for verdade, o trabalho Spark continuará a ser executado mesmo ao encontrar arquivos ausentes e o conteúdo ainda será retornado. Disponível no Databricks Runtime 11.3 LTS e versões superiores. |
| Nenhuma | Uma sequência de carimbo de data/hora | Um carimbo de data e hora opcional como um filtro para ingerir apenas arquivos que têm um carimbo de data e hora de modificação posterior ao carimbo de data e hora especificado. |
| Nenhuma | Uma sequência de carimbo de data/hora | Um carimbo de data e hora opcional como filtro para ingerir apenas arquivos que tenham um carimbo de data e hora de modificação antes do carimbo de data/hora especificado. |
| Nenhuma | Uma string de padrão de glob | Um possível padrão global para escolher arquivos. Equivalente a |
|
|
| Quando |
Avro
As opções a seguir se aplicam ao ler arquivos Avro.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | String de esquema Avro | Esquema opcional especificado 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 é consistente com o esquema evoluído. Por exemplo, caso se defina um esquema evoluído contendo uma coluna adicional com um valor padrão, o resultado da leitura também conterá a nova coluna. |
|
|
| Como lidar com a evolução do esquema ao utilizar um registro de esquema. |
|
|
| Controla o rebase dos valores de DATA e TIMESTAMP entre calendários gregorianos julianos e prolóticos. |
|
|
| Se deve ou não utilizar nomes de campo estáveis para os tipos Avro Union. Quando ativado, os nomes dos campos do tipo união são derivados de seus nomes de tipo em minúsculas (por exemplo, |
|
|
| Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. |
|
|
| Modo analisador para trabalhar com registros corrompidos. |
|
|
| Especifica o comportamento de diferenciação entre maiúsculas e minúsculas quando |
| Nenhuma |
| A profundidade máxima de recursão para campos Avro recursivos. Defina como |
| Nenhuma | Uma string de nome de coluna | Determinar se todos os dados que não puderam ser analisados devido a: incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo maiúsculas e minúsculas nas colunas) devem ser coletados em uma coluna separada. Esta coluna é incluída por default ao usar Auto Loader.
Para obter mais detalhes, consulte O que é a coluna de dados recuperados? |
|
| Qualquer cadeia de caracteres | O prefixo a ser usado para nomes de campos de tipo de união estável quando |
CSV
As seguintes opções se aplicam ao ler arquivos CSV.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string de caminho | O caminho para armazenar arquivos para registrar as informações sobre registros CSV ruins. |
|
| Um único caractere | O caractere usado para escapar do caractere usado para escapar das citações. Por exemplo, para o seguinte registro:
|
|
| Uma string de nome de coluna | Compatível com Auto Loader. Não suportado para |
|
| Um único caractere | Define o caractere que representa um comentário de linha quando encontrado no início de uma linha de texto. Use |
|
| Uma string de formato de data | O formato para analisar cadeias de caracteres de data. |
| Cadeias vazias | Qualquer cadeia de caracteres | Representação de string de um valor vazio. |
|
|
| Indica se deve recorrer ao comportamento de análise de data e hora legado quando um valor não puder ser analisado com o formato especificado. Quando |
|
| Nome do(a) | O nome da codificação dos arquivos CSV. Consulte |
|
|
| 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. |
|
| Um único caractere | O caractere de escape a ser usado ao analisar os dados. |
|
| Uma string de extensão de arquivo | A extensão de nome de arquivo esperada para leituras. Arquivos sem esta extensão são filtrados. |
|
|
| Indica se a operação deve falhar quando o registro CSV contiver colunas não presentes no esquema. Quando |
|
|
| Indica se a análise deve falhar quando o valor de um campo não puder ser interpretado como o tipo de esquema declarado sem ampliação (widering). Quando |
|
|
| Se os arquivos CSV contêm um cabeçalho. O Auto Loader pressupõe que os arquivos tenham cabeçalhos ao inferir o esquema. |
|
|
| Se deve ignorar os principais espaços em branco para cada valor analisado. |
|
|
| Se devem ser ignorados os espaços em branco à direita para cada valor analisado. |
|
|
| Se deve inferir os tipos de dados dos registros CSV analisados ou assumir que todas as colunas são de |
|
| Inteiros positivos | O tamanho do buffer em bytes para o analisador CSV. Útil para ajustar o uso da memória ao analisar grandes arquivos CSV. |
| Nenhum, que abrange | Uma string | Uma string entre dois registros CSV consecutivos. |
|
| Um identificador | Uma localidade Java identificada que afeta a data padrão, o carimbo de data e a análise decimal dentro do CSV. |
|
| Números inteiros positivos, ou | Número máximo de caracteres esperado de um valor para analisar. Pode ser usado para evitar erros de memória. O padrão é |
|
| Inteiros positivos | O limite rígido de quantas colunas um registro pode ter. |
|
|
| 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. |
|
|
| Modo de analisador para trabalhar com registros malformados. |
|
|
| Se os registros CSV abrangem várias linhas. |
|
| Qualquer cadeia de caracteres | A representação de string de um valor não numérico ao analisar colunas |
|
| Qualquer cadeia de caracteres | A representação de string do infinito negativo ao analisar colunas |
| Cadeias vazias | Qualquer cadeia de caracteres | Representação de string de um valor nulo. |
|
|
| 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 é |
|
| Qualquer cadeia de caracteres | A representação de string do infinito positivo ao analisar colunas |
|
|
| 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 |
|
| Um único caractere | O caractere usado para escapar de valores onde o delimitador de campo faz parte do valor. |
|
|
| Especifica o comportamento de diferenciação entre maiúsculas e minúsculas quando |
| Nenhuma | Uma string de nome de coluna | Determinar se todos os dados que não puderam ser analisados devido a: incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo maiúsculas e minúsculas nas colunas) devem ser coletados em uma coluna separada. Esta coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados recuperados?
|
|
| Uma string | A string separadora entre colunas. |
| Nenhuma | Uma string de nome de coluna | Quando definido para um nome de coluna, lê o registro CSV inteiro em uma única coluna |
|
| Números inteiros positivos ou | O número de linhas do início do arquivo CSV que devem ser ignoradas, incluindo linhas comentadas e vazias. Se |
|
| Uma cadeia de caracteres de formato de tempo | O formato para analisar os valores da coluna |
|
| Uma string de formato de carimbo de data/hora | O formato para analisar cadeias de caracteres de carimbo de data/hora. |
|
| Uma string de formato de carimbo de data/hora | O formato para analisar timestamps sem fuso horário ( |
| Nenhuma | Uma sequência | O |
|
|
| A estratégia para lidar com cotações sem escape. O comportamento de cada opção permitida é o seguinte:
|
Excel
As seguintes opções se aplicam ao ler arquivos Excel.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Um intervalo de células ou uma string com o nome da planilha | O intervalo de células a ser lido na sintaxe do Excel. Se omitido, lê todas as células válidas da primeira planilha. Use |
|
|
| Número de linhas iniciais a serem usadas como cabeçalhos de nomes de coluna. Quando |
|
|
| Se é para ignorar silenciosamente os arquivos que não contêm a planilha especificada por |
|
|
| Se deve incluir anotações fonéticas (como pinyin ou furigana) concatenadas aos valores de strings da célula ao ler arquivos XLSX. |
|
|
| A operação a ser realizada na pasta de trabalho do Excel. |
|
| Uma string de formato de carimbo de data/hora | Cadeias de formatação personalizadas para valores de carimbo de data/hora sem fuso horário armazenados como strings no Excel. Os formatos de data personalizados seguem os formatos definidos em Datetime patterns. |
|
| Uma string de formato de data | Cadeias de formato personalizadas para valores de string lidos como |
JSON
As seguintes opções se aplicam ao ler arquivos JSON.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| 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. |
|
|
| Se deve permitir ou não o uso de comentários no estilo Java, C e C++ (variedades |
|
|
| Se o conjunto de tokens não é um número ( |
|
|
| Se é permitido permitir que números inteiros comecem com zeros adicionais (ignoráveis) (por exemplo, |
|
|
| Se deve ser permitido o uso de aspas simples (apóstrofo, caractere |
|
|
| 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). |
|
|
| Se deve ser permitido o uso de nomes de campos sem aspas, o que é permitido pelo JavaScript, mas não pela especificação JSON. |
| Nenhuma |
| A codificação usada para os valores Variant no JSON de origem. Defina como |
| Nenhuma | Uma string de caminho | O caminho para armazenar arquivos que registram informações sobre registros JSON inválidos. O uso da opção
|
|
| Uma string de nome de coluna | A coluna para armazenar registros que estão malformados e não podem ser analisados. Se o |
|
| Uma string de formato de data | O formato para analisar cadeias de caracteres de data. |
|
|
| Se deve ignorar colunas de todos os valores nulos ou matrizes e estruturas vazias durante a inferência do esquema. |
|
| Nome do(a) | O nome da codificação dos arquivos JSON. Consulte |
|
|
| Se deve tentar inferir strings de carimbo de data/hora como |
| Nenhum, que abrange | Uma string | Uma string entre dois registros JSON consecutivos. |
|
| Um identificador | Um identificador de localidade Java que afeta a data padrão, o carimbo de data/hora e a análise decimal dentro do JSON. |
|
| Inteiros positivos | A profundidade máxima de aninhamento permitida para objetos e matrizes JSON. Aumente este valor para documentos profundamente aninhados. |
|
| Inteiros positivos | O comprimento máximo de tokens numéricos na entrada JSON. Aumente este valor para JSON com grandes literais numéricos. |
| Ilimitadas | Inteiros positivos | O comprimento máximo de valores de string na entrada JSON. Configurado para limitar o uso da memória na análise de JSON com strings grandes. |
|
|
| Modo de analisador para trabalhar com registros malformados. |
|
|
| Se os registros JSON abrangem múltiplas linhas. |
|
|
| Tenta inferir strings como |
|
|
| Se inferir tipos primitivos como números e booleanos como |
|
|
| Especifica o comportamento de diferenciação entre maiúsculas e minúsculas quando |
| Nenhuma | Uma string de nome de coluna | Decidiu-se se todos os dados que não puderam ser analisados devido a uma incompatibilidade de tipo de dados ou de esquema (incluindo maiúsculas e minúsculas nas colunas) devem ser coletados em uma coluna separada. Esta coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados recuperados?
|
| Nenhuma | Uma string de nome de coluna | Determina se é para ingerir o documento JSON inteiro, analisado em uma única coluna Variant com a string especificada como o nome da coluna. Se não definido, os campos JSON são ingeridos em suas próprias colunas. |
|
| Uma string de formato de carimbo de data/hora | O formato para analisar cadeias de caracteres de carimbo de data/hora. |
|
| Uma string de formato de carimbo de data/hora | O formato para analisar timestamps sem fuso horário ( |
| Nenhuma | Uma sequência | O |
|
|
| Definir se as exceções de atualização de tipo (por exemplo, quando um valor não pode ser ampliado para o tipo de coluna declarado) devem ser tratadas como registros inválidos em vez de lançar uma exceção. |
Kafka
Para obter a lista completa de opções do leitor Kafka, consulte Opções do DataStreamReader Kafka. As seguintes opções aplicam-se apenas a lotes reads usando spark.read.format("kafka").
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Onde parar de ler. Na sequência JSON, |
| Nenhuma | Uma string de timestamp JSON | Deslocamentos finais por partição especificados como carimbos de data/hora em milissegundos. Por exemplo: |
| Nenhuma | Números inteiros positivos ou | Carimbo de data/hora final global em milissegundos aplicado a todas as partições. |
ORC
As seguintes opções se aplicam ao ler arquivos ORC.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. |
Parquet
As seguintes opções aplicam-se na leitura de arquivos Parquet.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Controla o rebase dos valores de DATA e TIMESTAMP entre calendários gregorianos julianos e prolóticos. |
|
|
| Controla a rebase dos valores de carimbo de data/hora INT96 entre os calendários Juliano e Gregoriano Proléptico. |
|
|
| Se deve inferir o esquema em vários arquivos e mesclar o esquema de cada arquivo. |
|
|
| Especifica o comportamento de diferenciação entre maiúsculas e minúsculas quando |
| Nenhuma | Uma string de nome de coluna | Determinar se todos os dados que não puderam ser analisados devido a: incompatibilidade de tipo de dados e incompatibilidade de esquema (incluindo maiúsculas e minúsculas nas colunas) devem ser coletados em uma coluna separada. Esta coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados recuperados?
|
armazenamento do estado
Use estas opções com spark.read.format("statestore") ou a função de valor de tabela read_statestore para ler dados de estado de transmissão estruturada. Ver Ler informação estatal de transmissão estruturada.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| ID dos lotes mais recentes | Números inteiros positivos ou | O lote de destino para leitura. Utilizar para consultar um estado anterior da query. O lote deve ser confirmado, mas ainda não limpo. |
|
| Números inteiros positivos ou | O operador de destino do qual ler. Utilize quando a consulta tiver múltiplos operadores com estado. |
|
| Qualquer cadeia de caracteres | O nome do armazenamento do estado de destino a ser lido. Utilize quando o operador com estado tiver várias instâncias de armazenamento do estado. Você deve especificar |
| Nenhuma |
| O lado de destino para leitura em um join de transmissão-transmissão. Você deve especificar ou |
| Nenhuma | Números inteiros positivos ou | O ID do lote do Snapshot a ser usado como ponto de partida ao se ler o estado. O leitor reconstrói o estado reproduzindo alterações a partir deste Snapshot até |
| Nenhuma | Números inteiros positivos ou | Se especificado, a consulta lê apenas esta partição. Deve especificar junto com |
|
|
| Quando Para obter detalhes, consulte Ler alterações de estado da transmissão estruturada. |
| Nenhuma | Números inteiros positivos ou | O ID inicial do lote para o intervalo do feed de dados alterados. Obrigatório quando |
| ID dos lotes mais recentes | Números inteiros positivos ou | O ID final do lote para o intervalo do feed de dados alterados. Deve ser maior ou igual a |
| Nenhuma | Qualquer cadeia de caracteres | O nome da variável de estado para ler O nome da variável de estado é o nome exclusivo de cada variável dentro da função |
|
|
| Quando |
|
|
| Quando |
Texto
As seguintes opções se aplicam na leitura de arquivos de texto.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
| Nome do(a) | O nome da codificação do separador de linha do arquivo TEXT. O conteúdo do arquivo não é afetado por esta opção e é lido como está. |
| Nenhum, que abrange | Uma string | Uma string entre dois registros TEXT consecutivos. |
|
|
| Se deve ler um arquivo como um único registro. |
XML
As seguintes opções se aplicam ao ler arquivos XML.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | A tag de linha dos arquivos XML a serem tratados como uma linha. No exemplo XML |
|
|
| Define uma fração de linhas usadas para inferência de esquema. As funções integradas de XML ignoram esta opção. |
|
|
| Se deve ou não excluir atributos dos elementos. |
| Nenhuma |
| Mode para lidar com registros corrompidos durante a análise.
|
|
|
| Se |
|
| Uma string de nome de coluna | Permite renomear o novo campo que contém strings malformadas criadas pelo modo |
| Nenhuma | Qualquer cadeia de caracteres | O prefixo dos atributos serve para diferenciá-los dos elementos. Este será o prefixo para os nomes dos campos. O valor padrão é |
|
| Qualquer cadeia de caracteres | A tag usada para os dados de caracteres dentro de elementos que também possuem atributos ou elementos filhos. O usuário pode especificar o campo |
|
| Nome do(a) | Para leitura, decodifica os arquivos XML de acordo com o tipo de codificação fornecido. Para escrita, especifica a codificação (conjunto de caracteres) dos arquivos XML salvos. As funções integradas XML ignoram esta opção. Isso também se aplica às opções XML do DataFrameWriter. |
|
|
| Se os espaços em branco ao redor dos valores devem ser ignorados. Os dados de caracteres compostos apenas por espaços em branco são ignorados. |
| Nenhuma | Uma string de caminho do arquivo | Caminho para um arquivo XSD opcional usado para validar o XML para cada linha individualmente. Linhas que falham na validação são tratadas como erros de análise. O XSD não afeta o esquema, seja especificado ou inferido. |
|
|
| Se |
|
| Uma string de formato de carimbo de data/hora | Cadeias de formato de carimbo de data/hora personalizadas que seguem o padrão de formato de data e hora . Isso se aplica ao tipo |
|
| Uma string de formato de carimbo de data/hora | Cadeias de formato personalizadas para carimbo de data/hora sem fuso horário, seguindo o formato de padrão de data e hora. Isso se aplica ao tipo TimestampNTZType. Isso também se aplica às opções XML do DataFrameWriter. |
|
| Uma string de formato de data | Cadeias de formato de data personalizadas que seguem o padrão de data e hora . Isso se aplica ao tipo de data. Isso também se aplica às opções XML do DataFrameWriter. |
|
| Uma tag de idioma IETF BCP 47 | Define uma localidade como uma tag de idioma no formato IETF BCP 47. Por exemplo, |
| string | Qualquer cadeia de caracteres | Define a representação em string de um valor nulo. Quando este valor é |
|
|
| 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 em maiúsculas e minúsculas do esquema. Quando falso, leia os dados sem diferenciar maiúsculas de minúsculas. |
| Nenhuma | Uma string de nome de coluna | Determinar se todos os dados que não puderam ser analisados devido a uma incompatibilidade de tipo de dados e de esquema (incluindo maiúsculas e minúsculas nas colunas) devem ser coletados em uma coluna separada. Esta coluna é incluída por default ao usar Auto Loader. Para obter mais detalhes, consulte O que é a coluna de dados recuperados?. |
|
| Uma string de nome de coluna | Especifica o nome da coluna variante única. Se esta opção for especificada para leitura, analise o registro XML completo em uma única coluna do tipo Variant com o valor da string da opção fornecida como o nome da coluna. Se esta opção for especificada para escrita, escreve o valor da coluna de variante única em arquivos XML. Também se aplica a opções XML do DataFrameWriter. |
|
|
| Se deve ser utilizado o analisador XML legado. O analisador sintático legado possui uma validação menos rigorosa para conteúdo malformado, mas é menos eficiente em termos de memória. Defina como |
|
| Uma string de nome de coluna | O nome da coluna usada para capturar elementos XML que correspondem ao elemento de esquema curinga ( |
Opções do DataStreamReader
Use estas opções com DataStreamReader.option() para configurar leituras de transmissão de tabelas Delta Lake e outras fontes baseadas em arquivos.
Para opções de formato de arquivo (JSON, CSV, Parquet e outros), consulte as opções do DataFrameReader.
Para opções de Auto Loader (cloudFiles.*), consulte Auto Loader.
Exemplo
O exemplo a seguir define maxFilesPerTrigger como 10 para uma tabela Delta Lake :
- Python
- Scala
df = spark.readStream.format("delta").option("maxFilesPerTrigger", 10).load("/path/to/delta-table")
val df = spark.readStream.format("delta").option("maxFilesPerTrigger", "10").load("/path/to/delta-table")
Comum
As seguintes opções aplicam-se às tabelas Delta Lake e a outras fontes de transmissão baseadas em ficheiros.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Como lidar com arquivos de origem após serem processados pela transmissão. |
|
|
| Se os arquivos já processados devem ser identificados apenas pelo nome do arquivo, em vez do caminho completo. Quando |
|
|
| Se os arquivos modificados mais recentemente devem ser processados primeiro dentro de cada microlote. Útil quando você deseja processar os dados mais recentes o mais rápido possível. Quando |
| Nenhuma | Inteiros positivos | Um limite máximo flexível para a quantidade de dados processada em cada micro-lote. Um lote pode processar mais do que o limite se a menor unidade de entrada o exceder. Quando usado junto com Para o Auto Loader, use |
|
| Números inteiros positivos ou | Número máximo de arquivos não processados para armazenar em cache para micro-lotes subsequentes. Defina como |
|
| Uma string de duração, como | Idade máxima dos arquivos considerados para processamento, em relação ao carimbo de data/hora do arquivo modificado mais recentemente, em vez da hora atual do sistema. Arquivos mais antigos do que este limite serão ignorados. Ignorado quando |
|
| Inteiros positivos | Limite superior para o número de novos arquivos processados em cada micro lote. Quando usado junto com Para o Auto Loader, use |
| Nenhuma | Uma string de caminho | Caminho para o diretório de arquivos quando |
Auto Loader
Use estas opções com a fonte cloudFiles para configurar Auto Loader para ingestão de transmissão a partir do armazenamento cloud . As opções específicas da fonte cloudFiles são prefixadas com cloudFiles para mantê-las em um espaço de nomes separado de outras opções de fonte de transmissão estruturada .
Comum
As opções a seguir aplicam-se a todas as configurações do Auto Loader.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Se permitir que alterações no arquivo do diretório de entrada substituam os dados existentes. Para ressalvas sobre a configuração, consulte "O Auto Loader processa o arquivo novamente quando ele é anexado ou sobrescrito?". |
| Nenhuma | Uma string de duração, como | O Auto Loader pode acionar preenchimentos assíncronos em um determinado intervalo. Para obter mais informações, consulte Acionar preenchimentos retroativos regulares usando cloudFiles.backfillInterval. Não use quando |
|
|
| Se deve excluir ou mover automaticamente os arquivos processados do diretório de entrada. Quando definido como Quando definido como Quando definido como Um arquivo é considerado processado quando possui um valor não nulo para Analise as seguintes considerações antes de ativar
Disponível no Databricks Runtime 16.4 e versões superiores. |
|
| Uma CalendarInterval string como | Tempo de espera antes que os arquivos processados se tornem candidatos ao arquivamento com Disponível no Databricks Runtime 16.4 e versões superiores. |
| Nenhuma | Um armazenamento em cloud ou caminho de volume do Unity Catalog | Caminho para arquivar os arquivos processados quando O local da mudança deve:
O Auto Loader precisa ter permissão de escrita neste diretório. Disponível no Databricks Runtime 16.4 e versões superiores. |
| Nenhuma (opção obrigatória) |
| O formato do arquivo de dados no caminho de origem. Os valores válidos incluem:
|
|
|
| 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. |
|
|
| Se deve ou não inferir os tipos exatos das colunas ao utilizar a inferência de esquema. Por default, as colunas são inferidas como strings ao inferir conjuntos de dados JSON e CSV . Consulte a seção sobre inferência de esquema para obter mais detalhes. |
| Nenhuma | Uma sequência de bytes como | O número máximo de novos bytes a serem processados em cada gatilho. Esse é um máximo definido por software. Se você tiver arquivos de 3 GB cada, o Databricks processa 12 GB em um microlote. Quando usado junto com No Databricks Runtime 18.0 e versões superiores, essa opção é configurada dinamicamente e não precisa ser definida manualmente. |
| Nenhuma | Uma string de duração | Por quanto tempo um evento de arquivo é rastreado para fins de desduplicação. A Databricks não recomenda ajustar esse parâmetro, a menos que você esteja ingerindo dados na ordem de milhões de arquivos por hora. Consulte a seção sobre acompanhamento de eventos de arquivo para obter mais detalhes. Ajustar |
|
| Inteiros positivos | O número máximo de novos arquivos a serem processados em cada gatilho. Quando usado junto com No Databricks Runtime 18.0 e versões superiores, essa opção é configurada dinamicamente e não precisa ser definida manualmente. |
| Nenhuma | Uma lista separada por vírgulas de nomes de colunas | Uma lista separada por vírgulas de colunas de partição no estilo Hive, a serem inferidas a partir da estrutura de diretórios dos arquivos. Colunas de partição no estilo Hive são pares key-value combinados por um sinal de igualdade, como
Especificar
|
|
|
| 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 um conjunto de dados JSON . Consulte a seção sobre a evolução do esquema para obter mais detalhes. |
| Nenhuma | Uma string de esquema | 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. |
| Nenhum (necessário para inferir o esquema) | Uma string de caminho | Local para armazenar o esquema inferido e as alterações subsequentes. Consulte a seção sobre inferência de esquema para obter mais detalhes. |
|
|
| Se deve ser utilizado um globber estrito que corresponda ao comportamento de globbing default de outras fontes de arquivos no Apache Spark. Consulte Padrões comuns de carregamento de dados para obter mais detalhes. Disponível no Databricks Runtime 12.2 LTS e versões superiores. |
|
|
| Se deve validar as opções do Auto Loader e retornar um erro para opções desconhecidas ou inconsistentes. |
Listagem de diretório
A seguinte opção aplica-se ao usar o modo de listagem de diretórios.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Este recurso foi descontinuado. A Databricks recomenda o uso do modo de notificação de arquivo com eventos de arquivo em vez de Se deve usar a listagem incremental em vez da listagem completa no modo de listagem de diretório. Por default, Auto Loader faz o possível 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 Habilitar incorretamente a listagem incremental em um diretório sem ordem lexicográfica impede que o Auto Loader descubra novos arquivos. Funciona com o Azure Data Lake Storage ( Disponível no Databricks Runtime 9.1 LTSe acima. |
Notificação de arquivo
Para obter informações sobre como configurar o modo de notificação de arquivos, incluindo permissões cloud necessárias, instruções de configuração e métodos de autenticação, consulte Configurar transmissões Auto Loader no modo de notificação de arquivos.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
| Inteiros positivos | Número de segmentos a serem usados ao buscar mensagens do serviço de enfileiramento. Não use quando |
| Nenhuma | Uma string de mapa JSON | Necessário apenas se você especificar um Não use quando |
| Nenhuma | key-value tag strings | Uma série de pares de tags de valor chave para ajudar a associar e identificar recursos relacionados, por exemplo:
Não use quando Para obter mais informações, consulte tags de recursos do provedor de serviços de cloud. |
|
|
| Quando definido como Os eventos de arquivo proporcionam desempenho de nível de notificação na descoberta de arquivos, pois o Auto Loader consegue descobrir novos arquivos após a última execução. Diferentemente da listagem de diretórios, esse processo não precisa listar todos os arquivos do diretório. Existem algumas situações em que o Auto Loader usa a listagem de diretórios mesmo quando a opção de eventos de arquivo está ativada:
Consulte Quando o Auto Loader com eventos de arquivo usa a listagem de diretórios? Para obter uma lista completa das situações em que o Auto Loader usa a listagem de diretórios com esta opção. Disponível no Databricks Runtime 14.3 LTS e versões superiores. |
|
|
| Quando definido como |
|
|
| Ativar ou desativar o modo de notificação de arquivos para detectar a presença de novos arquivos. Se Não use quando |
Tags de recursos do provedor de cloud
O Auto Loader adiciona os seguintes pares de tags de key-value por default em uma base de melhor esforço:
vendor:Databrickspath: O local de onde os dados são carregados. Indisponível no GCP devido a limitações de rotulagem.checkpointLocationLocalização do posto de controle da transmissão. Não disponível no GCP devido a limitações de rótulo.streamId: um identificador globalmente exclusivo para a transmissão.
Databricks reserva esses nomes key e você não pode sobrescrever seus valores.
Para mais informações sobre a AWS, consulte Amazon SQS cost allocation tags e Como configurar tags para um tópico Amazon SNS.
específico da nuvem
O Auto Loader oferece opções para configurar a infraestrutura de nuvem para o modo de notificação de arquivo. Para as permissões necessárias da cloud e instruções de configuração, consulte Configurar transmissões do Auto Loader no modo de notificação de arquivo.
AWS
Especifique as seguintes opções somente se você escolher cloudFiles.useNotifications = true e desejar que o Auto Loader configure os serviços de notificação para você:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| A região da instância EC2 | Uma string de região da AWS | A região onde reside o bucket S3 de origem e onde você deseja criar os serviços AWS SNS e SQS. |
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Permitir notificações de eventos somente de buckets do AWS S3 na mesma account que o tópico do SNS. Quando ativada, Auto Loader aceita apenas notificações de eventos de buckets do AWS S3 na mesma account que o tópico do SNS. Quando Disponível no Databricks Runtime 17.2 e versões superiores. |
Forneça a seguinte opção somente se escolher cloudFiles.useNotifications = true e quiser que o Auto Loader utilize uma fila que já tenha configurado:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string de URL | 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. |
opções de autenticação da AWS
Especifique a seguinte opção de autenticação para usar uma credencial de serviço do Databricks:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | O nome da sua credencial de serviço do Databricks. Disponível no Databricks Runtime 16.1 e versões superiores. |
Quando as credenciais de serviço do Databricks ou as IAM roles não estiverem disponíveis, você pode especificar as seguintes opções de autenticação em vez disso:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | A ID da chave de acesso AWS para o usuário. Deve ser especificado com |
| Nenhuma | Qualquer cadeia de caracteres | A chave de acesso secreta da AWS para o usuário. Deve ser especificado com |
| Nenhuma | Uma string ARN | O ARN de uma IAM role a ser assumida, se necessário. A função pode ser assumida a partir do instance profile do seu cluster ou fornecendo credenciais com |
| Nenhuma | Qualquer cadeia de caracteres | Um identificador para utilizar ao assumir uma função utilizando |
| Nenhuma | Qualquer cadeia de caracteres | Um nome de sessão opcional para utilizar ao assumir um papel utilizando |
| Nenhuma | Uma string de URL | Um endpoint opcional a ser usado para acessar o AWS STS ao assumir uma função utilizando o |
Azure
Você deve especificar valores para todas as seguintes opções se você especificar cloudFiles.useNotifications = true e desejar que o Auto Loader configure os serviços de notificação para você:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | O grupo de recursos Azure no qual a account de armazenamento foi criada. |
| Nenhuma | Qualquer cadeia de caracteres | O ID de inscrição Azure no qual o grupo de recursos foi criado. |
| Nenhuma | Qualquer cadeia de caracteres | O nome da sua credencial de serviço do Databricks. Disponível no Databricks Runtime 16.1 e versões superiores. |
Se uma credencial de serviço do Databricks não estiver disponível, é possível especificar as seguintes opções de autenticação em vez disso:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | O ID do cliente ou o ID do aplicativo da entidade de serviço Databricks. |
| Nenhuma | Qualquer cadeia de caracteres | O segredo do cliente da entidade de serviço Databricks . |
| Nenhuma | Uma string de conexão | 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). |
| Nenhuma | Qualquer cadeia de caracteres | O ID do inquilino Azure no qual a entidade de serviço Databricks é criada. |
Forneça a seguinte opção somente se você escolher cloudFiles.useNotifications = true e desejar que o Auto Loader utilize uma fila existente:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | O nome da fila Azure. Se especificada, a origem dos arquivos de cloud consome diretamente os eventos desta fila em vez de configurar seus próprios serviços de Armazenamento de Filas e de Grade de Eventos do Azure. Nesse caso, seu |
GCP
Auto Loader pode configurar automaticamente o serviço de notificações para você, utilizando as credenciais do serviço Databricks . A account de serviço criada com as credenciais de serviço Databricks exigirá as permissões especificadas em Configurar transmissão Auto Loader no modo de notificação de arquivo.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | O ID do projeto ao qual o bucket do GCS pertence. A assinatura Pub/Sub do Google Cloud também foi criada dentro deste projeto. |
| Nenhuma | Qualquer cadeia de caracteres | O nome da sua credencial de serviço do Databricks. Disponível no Databricks Runtime 16.1 e versões superiores. |
Se uma credencial de serviço do Databricks não estiver disponível, é possível usar contas de serviço do Google diretamente. Você pode configurar seu cluster para assumir uma account de serviço seguindo a configuração de serviço do Google ou especificar as seguintes opções de autenticação:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | A ID do cliente da conta do Google Service. |
| Nenhuma | Uma string de endereço de email | O e-mail da Conta de Serviço do Google. |
| Nenhuma | Uma string de key privada | A key privada gerada para a conta do serviço do Google. |
| Nenhuma | Qualquer cadeia de caracteres | O ID da key privada gerada para a conta do serviço Google. |
Forneça a seguinte opção somente se escolher cloudFiles.useNotifications = true e quiser que o Auto Loader utilize uma fila que já tenha configurado:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | O nome da inscrição do Google Cloud Pub/Sub. Se especificado, a origem de arquivos na cloud consome eventos desta fila em vez de configurar seus próprios serviços de Notificação GCS e Google Cloud Pub/Sub. |
Delta Lake
As seguintes opções se aplicam ao ler de uma tabela Delta Lake usando spark.readStream.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Um número de versão ou | Defina com um número de versão da tabela Delta ou |
| Nenhuma | Um número de versão ou | Defina com um número de versão da tabela Delta ou |
| Nenhuma | Um número de versão ou | Defina com um número de versão da tabela Delta ou |
| Nenhuma | Uma String Java regex | Um padrão de expressão regular. Os arquivos cujos caminhos correspondem ao padrão são excluídos da transmissão lida. Útil para filtrar arquivos que não estejam de acordo com a convenção de nomenclatura esperada. |
|
|
| Se deve falhar a consulta de transmissão se os dados de origem tiverem sido excluídos devido à retenção log ( |
|
|
| Disponível no Databricks Runtime 11.3 LTS e versões anteriores. Reemite arquivos de dados reescritos após operações de modificação como |
|
|
| Ignora transações que excluem dados nos limites das partições (apenas exclusões completas de partições). Não lida com exclusões, atualizações ou outras modificações que não envolvam partições. Use |
|
|
| Habilitar a leitura do feed de dados de alteração para a consulta de transmissão. Quando ativada, a transmissão emite alterações no nível da linha (inserções, atualizações e exclusões) com colunas de metadados adicionais. Consulte Usar o feed de dados de alteração no Databricks. |
| Nenhuma | Uma string de caminho | Caminho para um diretório onde Delta Lake rastreia as alterações de esquema para a leitura de transmissão. Necessário quando transmitido de tabelas com mapeamento de coluna ativado e usando opções |
|
|
| Ignora transações que excluem ou modificam registros existentes e processa apenas as que adicionam informações. A Databricks recomenda esta opção para a maioria das cargas de trabalho que não utilizam feeds de dados de alterações. Disponível no Databricks Runtime 12.2 LTS e versões superiores. Consulte Ignorar commit de alteração upstream com |
| Última versão disponível | Uma string de timestamp como | Marca de tempo para iniciar a leitura. A transmissão lê todas as alterações de tabela confirmadas na data e hora especificadas ou posteriormente. Se o carimbo de data/hora for anterior a todos os commits disponíveis na tabela, a transmissão começará a partir do commit mais antigo disponível. Não pode ser usado em conjunto com |
| Última versão disponível | Um número inteiro positivo, | Versão da tabela Delta a partir da qual iniciar a leitura. A transmissão lê todas as alterações efetuadas na versão especificada ou posteriormente. Especifique |
|
|
| Divide a tabela inicial Snapshot em intervalos de tempo de eventos para evitar que registros sejam marcados incorretamente como eventos tardios e descartados em consultas com estado que contenham marcas d'água. Não pode ser alterado após o início do processamento inicial do Snapshot sem excluir o ponto de verificação. Disponível no Databricks Runtime 11.3 LTS e versões superiores. Consulte Processar instantâneo inicial sem descartar dados. |
Kafka
Use estas opções com spark.readStream.format("kafka") ou spark.read.format("kafka"):
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string JSON, como por exemplo | As partições específicas a serem consumidas. Você deve especificar exatamente uma das opções |
|
|
| Se a consulta deve falhar quando houver a possibilidade de os dados terem sido perdidos, por exemplo, devido a tópicos excluídos ou truncamento de offset. Defina como A Databricks estima, de forma conservadora, se os dados podem ter sido perdidos. No entanto, isso pode causar alarmes falsos. |
|
| Números inteiros positivos ou | O número de tentativas quando a obtenção dos offsets do Kafka falha. |
|
| Números inteiros positivos ou | O intervalo em milissegundos entre novas tentativas de busca de offset. |
|
| Qualquer cadeia de caracteres | O prefixo personalizado a ser usado para a ID do grupo de consumidores Kafka gerada automaticamente. Se |
| Nenhuma | Qualquer cadeia de caracteres | A ID do grupo de consumidores Kafka a ser usada durante a leitura. Use com cautela: consultas compartilhando a mesma ID de grupo interferem entre si e podem ler apenas dados parciais. Isso pode ocorrer ao executar cargas de trabalho concorrentes de lotes e transmissão, ou ao reiniciar consultas rapidamente. Se definido, |
|
|
| Se os cabeçalhos do Kafka devem ser incluídos como uma coluna na saída. |
| Nenhuma | Inteiros positivos | O tempo limite em milissegundos para a chamada |
| Nenhuma | Uma lista delimitada por vírgulas de | Uma lista de hosts separados por vírgulas Endereços para brokers Kafka. Define a propriedade Se você não encontrar dados do Kafka, verifique esta lista de endereços de brokers em busca de endereços incorretos. Se a lista de endereços do corretor estiver incorreta, pode não haver erros. Os clientes do Kafka partem do princípio de que os brokers estarão disponíveis eventualmente e continuam tentando indefinidamente quando recebem erros de rede. |
| Nenhuma | Inteiros positivos | O número máximo de registros para cada partição Spark. Quando configurado, o conector divide as partições Kafka para que cada partição Spark leia no máximo esta quantidade de registros. Você também pode usar esta opção com |
| Nenhuma | Inteiros positivos | O número mínimo de partições Spark para ler a partir do Kafka. Quando configurado, o conector divide grandes partições do Kafka para aumentar o paralelismo. Quando não configurado, o Spark cria uma partição para cada partição de tópico do Kafka. Útil para lidar com distorção de dados ou pico de carga. Essa opção reinicializa os consumidores do Kafka para cada gatilho, o que pode afetar o desempenho com SSL. |
|
|
| O deslocamento a partir do qual a consulta inicia a leitura. Na sequência JSON, Para consultas de transmissão, esta opção só se aplica quando uma nova consulta começa. Consultas retomadas sempre utilizam o ponto de verificação. Durante uma consulta, novas partições começam a ser lidas a partir do deslocamento mais antigo. Para consultas de lotes, |
| Nenhuma | Uma string de carimbo de data/hora JSON, como | Uma lista de deslocamentos iniciais para cada partição, especificados como timestamps em milissegundos. Quando nenhum deslocamento existe para um carimbo de data/hora, o comportamento da consulta é determinado por Para consultas de transmissão, esta opção só se aplica quando uma nova consulta começa. Consultas retomadas sempre utilizam o ponto de verificação. Durante uma consulta, novas partições começam a ser lidas a partir do deslocamento mais antigo. |
|
|
| A estratégia a ser usada quando nenhum deslocamento for encontrado para um carimbo de data/hora especificado em |
| Nenhuma | Números inteiros positivos ou | O timestamp global inicial em milissegundos que se aplica a todas as partições. Quando não há deslocamento para o carimbo de data/hora, o comportamento é controlado por |
| Nenhuma | Uma lista de nomes de tópicos separados por vírgula | Os tópicos para assinar. Você deve especificar exatamente uma das opções |
| Nenhuma | Uma String Java regex | O padrão usado para assinar tópicos. Você deve especificar exatamente uma das opções |
As seguintes opções aplicam-se apenas a transmissões lidas com spark.readStream.format("kafka"):
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
| Strings de duração, como | O período de tempo usado para estimar os bytes restantes para a métrica |
| Nenhuma | Inteiros positivos | O número máximo de deslocamentos a serem processados por intervalo de gatilho. Deslocamentos são distribuídos proporcionalmente entre as partições de tópicos. |
|
| Strings de duração, como | O tempo máximo de espera para que |
| Nenhuma | Inteiros positivos | O número mínimo de deslocamentos para acumular antes de acionar um micro-lote. Quando |
Para opções de deslocamento que se aplicam apenas a leituras de lotes com spark.read.format("kafka"), consulte Opções Kafka DataFrameReader.
Autenticação
A Databricks recomenda o uso de uma credencial de serviço do Unity Catalog para se autenticar em serviços Kafka gerenciados na cloud (AWS MSK, Azure Event Hubs ou Google Cloud Managed Kafka).
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | O nome de uma credencial de serviço do Unity Catalog para autenticar serviços Kafka gerenciados em cloud. Disponível no Databricks Runtime 16.1 e acima. |
| Nenhuma | Qualquer cadeia de caracteres | O escopo OAuth para a credencial de serviço. Defina isso somente quando o Databricks não puder inferir automaticamente o escopo para o seu serviço Kafka. |
Quando uma credencial de serviço não estiver disponível, utilize as opções SASL/SSL (passadas como propriedades kafka.*). Ao usar uma credencial de serviço, não é necessário especificar kafka.sasl.mechanism, kafka.sasl.jaas.config ou kafka.security.protocol.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string de protocolo de segurança, como | O protocolo de segurança para comunicação de corretagem. |
| Nenhuma | Uma string de mecanismo SASL, como | O mecanismo SASL. |
| Nenhuma | Uma string de configuração JAAS | A string de configuração de login JAAS. |
| Nenhuma | Um nome de classe totalmente qualificado | O nome de classe totalmente qualificado de um manipulador de callback de login para autenticação SASL. |
| Nenhuma | Um nome de classe totalmente qualificado | O nome de classe completamente qualificado de um manipulador de retorno de chamada de cliente para autenticação SASL. |
| Nenhuma | Uma string de caminho do arquivo | O caminho para o arquivo de armazenamento de confiança SSL. |
| Nenhuma | Qualquer cadeia de caracteres | A senha para o arquivo de armazenamento de confiança SSL. |
| Nenhuma | Uma string de caminho do arquivo | O caminho para o arquivo de armazenamento de chaves SSL. |
| Nenhuma | Qualquer cadeia de caracteres | A senha para o arquivo de armazenamento de chaves SSL. |
Para obter instruções completas de configuração de autenticação, consulte Autenticação.
Kinesis
Use estas opções com spark.readStream.format("kinesis") para ler do Amazon Kinesis Data Streams. É necessário especificar streamName ou streamARN, mas não ambos.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma lista delimitada por vírgulas de nomes de transmissão | Uma lista separada por vírgulas de nomes de transmissão Kinesis para assinar. |
| Nenhuma | Uma lista separada por vírgulas de ARNs de transmissões do Kinesis | Uma lista separada por vírgulas de ARNs de transmissão Kinesis. Por exemplo, |
As seguintes opções também estão disponíveis:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | A ID da access key da AWS. Deve ser especificado com |
| Nenhuma | Qualquer cadeia de caracteres | Chave de acesso secreta AWS correspondente a |
|
| Inteiros positivos | O tamanho aproximado do bloco de destino em bytes após a coalescência. |
|
| Inteiros positivos | O limite no qual ocorre a coalescência automática. Se o tamanho médio do bloco for menor que esse valor, os blocos pré-buscados serão agrupados em |
|
|
| O tipo de consumidor. |
| ID da consulta de transmissão | Um único nome de consumidor ou uma lista delimitada por vírgulas correspondente ao número de transmissões. | O nome do consumidor usado para registrar a consulta com o serviço Kinesis no modo EFO. Disponível no Databricks Runtime 11.3 LTS e acima. |
|
| Qualquer cadeia de caracteres | O prefixo que precede |
|
| Uma string de duração como | O intervalo em que o registro do consumidor EFO é verificado e atualizado. Disponível no Databricks Runtime 11.3 LTS e acima. |
| Região resolvida localmente | Qualquer cadeia de caracteres | O ponto final regional do Kinesis Data Streams. |
|
| Uma sequência de bytes, por exemplo, | A quantidade de dados a serem armazenados em buffer para o próximo gatilho. Isso é uma condição de parada, não um limite superior estrito. Mais dados podem ser armazenados em buffer do que o especificado. |
|
|
| Por onde começar a ler na transmissão. Para |
|
| Uma string de duração como | A duração para armazenar em buffer os dados pré-configurados antes de disponibilizá-los para processamento. |
|
| Números decimais positivos | A taxa máxima de pré-busca de dados por fragmento em MB/s. Isso limita a taxa de buscas para evitar a limitação do Kinesis. O Kinesis permite no máximo |
|
| Inteiros positivos | O número de registros a serem lidos por solicitação de API do Kinesis. O número de registros retornados poderá ser maior se os sub-registros forem agregados usando a Kinesis Producer Library. |
|
| Números inteiros positivos até | O número máximo de fragmentos a serem lidos por chamada de API ao listar fragmentos. |
|
| Uma string de duração como | A duração mínima para aguardar entre as tentativas consecutivas de pré-busca. Isso limita a frequência de buscas para evitar a limitação do Kinesis. |
| Região resolvida localmente | Qualquer cadeia de caracteres | A região em que as transmissões são definidas. |
| Nenhuma | Uma lista separada por vírgulas de nomes de consumidores ou ARNs | Uma lista de identificadores separados por vírgula para consumidores EFO existentes. Disponível no Databricks Runtime 16.1 e acima. |
| Nenhuma |
| Se os identificadores em |
|
|
| Se deve cancelar o registro do consumidor de fan-out aprimorado no encerramento da consulta. Exige |
| Nenhuma | Uma string ARN | O ARN de uma IAM role a ser assumida ao acessar o Kinesis. |
| Nenhuma | Qualquer cadeia de caracteres | Um ID externo opcional para utilizar ao assumir a função especificada por |
| Nenhuma | Qualquer cadeia de caracteres | Um identificador para a sessão de função assumida. Identifica exclusivamente uma sessão quando a mesma função é assumida por diferentes princípios. |
| Nenhuma | Qualquer cadeia de caracteres | O nome da sua credencial de serviço do Databricks para autenticação no Kinesis. Disponível no Databricks Runtime 16.1 e acima. |
| Nenhuma | Uma string de URL | Um endpoint personalizado para AWS STS ao assumir uma função usando |
|
| Uma string de duração como | O intervalo de pesquisa do Kinesis para eventos de resharding. |
|
| Inteiros positivos | O número de fragmentos do Kinesis a serem buscados previamente em paralelo por tarefa do Spark. Para latência mínima, assegure |
Para obter mais informações sobre a leitura do Kinesis, consulte Conecte-se ao Amazon Kinesis.
Pub/Sub
Use estas opções com spark.readStream.format("pubsub") para assinar o Google Pub/Sub. As opções subscriptionId, topicId e projectId são obrigatórias.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Qualquer cadeia de caracteres | Obrigatório. O ID da inscrição do Pub/Sub. O conector cria a inscrição se ela não existir. |
| Nenhuma | Qualquer cadeia de caracteres | Obrigatório. O ID do tópico Pub/Sub. |
| Nenhuma | Qualquer cadeia de caracteres | Obrigatório. ID do projeto do Google Cloud. |
| Metade do número de executores disponíveis na inicialização da transmissão | Inteiros positivos | O número de tarefas Spark paralelas que buscam linhas da inscrição. |
| Nenhuma | Inteiros positivos | Um limite flexível para o número de bytes a serem processados por micro-lote. |
|
| Inteiros positivos | O número de linhas a serem buscadas por tarefa antes do processamento. |
|
| Uma string de duração, como | A duração da obtenção de cada tarefa antes de processar as linhas. A Databricks recomenda usar o valor default. |
|
|
| Quando |
| Nenhuma | Qualquer cadeia de caracteres | O nome de uma credencial de serviço do Databricks para autenticação no Pub/Sub. Disponível no Databricks Runtime 16.1 e acima. |
| Nenhuma | Uma string de endereço de email | O endereço de email da account de Serviço do Google. Obrigatório quando não se utiliza uma credencial de serviço. |
| Nenhuma | Qualquer cadeia de caracteres | A ID do cliente da account do Google Service. Obrigatório quando não se utiliza uma credencial de serviço. |
| Nenhuma | Uma string de key privada | A key privada para a account de serviço do Google. Obrigatório quando não se utiliza uma credencial de serviço. |
| Nenhuma | Qualquer cadeia de caracteres | A ID da key privada da account de serviço do Google. Obrigatório quando não se utiliza uma credencial de serviço. |
Para obter mais informações sobre Pub/Sub, consulte Assinar o Google Pub/Sub.
Pulsar
Use estas opções com spark.readStream.format("pulsar") para transmitir do Apache Pulsar. Disponível no Databricks Runtime 14.1 e acima.
As opções a seguir são obrigatórias. Você deve especificar exatamente um dentre topic, topics ou topicsPattern.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string de URL de serviço do Pulsar | O Pulsar |
| Nenhuma | Qualquer cadeia de caracteres | Um único nome de tópico a ser consumido. |
| Nenhuma | Uma lista de nomes de tópicos separados por vírgula | Uma lista separada por vírgulas de nomes de tópicos para consumir. |
| Nenhuma | Uma String Java regex | Uma string Java regex para corresponder a nomes de tópicos. |
As seguintes opções também são compatíveis:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string de URL | A URL HTTP do serviço administrativo do Pulsar. É necessário quando |
|
|
| Se vários tópicos com esquemas diferentes forem lidos, use esta opção para desativar a desserialização automática de valor de tópico baseada em esquema. Somente os valores não processados são retornados quando isso é |
|
|
| Se a consulta deve falhar quando os dados forem perdidos. Por exemplo, a perda de dados pode ocorrer quando tópicos são excluídos ou mensagens expiram devido à política de retenção. |
| Nenhuma | Inteiros positivos | Um limite flexível para a quantidade de bytes a serem processados por micro-batch. É necessário |
|
| Inteiros positivos | O tempo limite para a leitura de mensagens do Pulsar em milissegundos. |
| Nenhuma | Qualquer cadeia de caracteres | O nome da inscrição predefinida usado pelo conector para acompanhar o progresso das aplicações Spark. |
|
|
| Por onde começar a ler? |
| Nenhuma | Qualquer cadeia de caracteres | O prefixo usado pelo conector para gerar uma inscrição aleatória para rastrear o progresso das aplicações Spark. |
|
|
| O conector aguarda até que os tópicos desejados sejam criados. |
É possível definir configurações adicionais de cliente, administrador e leitor do Pulsar usando os seguintes padrões de opção:
Padrão | Opções de configuração |
|---|---|
| |
| Configuração do cliente Pulsar, incluindo opções de autenticação como |
|
Para obter mais informações sobre as opções de autenticação de cliente e administrador do Pulsar, consulte Autenticação.
Autenticação
O Databricks suporta autenticação de truststore e keystore ao Pulsar. O Databricks recomenda usar segredos para armazenar detalhes de autenticação. Consulte Gerenciamento de segredos.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Um nome de classe totalmente qualificado | O nome de classe totalmente qualificado do plugin de autenticação. Por exemplo, |
| Nenhuma | Uma cadeia de caracteres de credencial | Credenciais de autenticação passadas para o plug-in de autenticação como uma cadeia de caracteres. Por exemplo, |
|
|
| Quando |
| Nenhuma | Qualquer cadeia de caracteres | O formato do arquivo de armazenamento de confiança TLS. Por exemplo, |
| Nenhuma | Uma string de caminho do arquivo | O caminho para o arquivo de armazenamento de confiança TLS contendo certificados de CA confiáveis. É necessário quando |
| Nenhuma | Qualquer cadeia de caracteres | A senha para o arquivo de armazenamento de confiança TLS. |
Se a transmissão usar um PulsarAdmin, você também poderá definir as seguintes opções:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Um nome de classe totalmente qualificado | O nome da classe totalmente qualificado do plug-in de autenticação para o cliente administrador do Pulsar. |
| Nenhuma | Uma cadeia de caracteres de credencial | Credenciais de autenticação para o plugin de autenticação do cliente administrador do Pulsar. |
| Nenhuma |
| Usar TLS para a conexão do cliente admin do Pulsar |
| Nenhuma |
| Se permitir conexões TLS inseguras para o cliente administrativo do Pulsar |
| Nenhuma | Uma string de caminho do arquivo | Caminho para o arquivo de certificado TLS confiável para o cliente administrador do Pulsar. |
| Nenhuma |
| Se deve usar TLS baseado em KeyStore para o cliente administrador do Pulsar. |
| Nenhuma | Qualquer cadeia de caracteres | O formato do repositório de confiança TLS para o cliente administrador Pulsar. Por exemplo, |
| Nenhuma | Uma string de caminho do arquivo | Caminho para o arquivo de armazenamento de confiança TLS para o cliente administrador do Pulsar. É necessário quando |
| Nenhuma | Qualquer cadeia de caracteres | Senha para o repositório de confiança TLS do cliente administrador do Pulsar. |
Para exemplos de autenticação, consulte Autenticar-se no Pulsar.
Opções do DataFrameWriter
Use estas opções com DataFrameWriter.option() e DataFrameWriterV2.option() para controlar como o Databricks grava os dados.
Exemplo
O exemplo a seguir define mergeSchema como True para escrever uma tabela Delta Lake:
- Python
- Scala
df.write.format("delta").option("mergeSchema", True).saveAsTable("my_table")
df.write.format("delta").option("mergeSchema", "true").saveAsTable("my_table")
Avro
As seguintes opções se aplicam ao gravar arquivos Avro.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string de esquema JSON | O esquema Avro completo como uma cadeia de caracteres JSON. Esta opção permite converter tipos do Spark SQL em tipos Avro específicos. Aplica-se a Leitura e gravação de arquivos Avro. |
| Nenhuma | Uma string de URL | Uma URL apontando para um arquivo de esquema Avro. Use em vez de |
|
|
| Codec de compactação a ser usado ao gravar. Aplica-se a Leitura e gravação de arquivos Avro. |
|
| Qualquer cadeia de caracteres | O nome do registro de nível superior no esquema Avro de saída. Aplica-se a Leitura e gravação de arquivos Avro. |
|
|
| Se deve corresponder colunas entre o esquema Spark e o esquema Avro por posição do campo em vez de por nome. Aplica-se a Leitura e gravação de arquivos Avro. |
| Cadeias vazias | Qualquer cadeia de caracteres | O namespace para o registro de nível superior no esquema Avro de saída. Aplica-se a Leitura e gravação de arquivos Avro. |
Delta Lake e Iceberg Apache
As opções a seguir se aplicam ao gravar tabelas Delta Lake e Apache Iceberg.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Ativar ou não clustering líquido automático, em que Databricks seleciona colunas clustering com base em padrões de consulta. Válido apenas com |
| Nenhuma |
| Se deve ser habilitada a evolução do esquema para as operações de gravação. Novas colunas no DataFrame de origem são adicionadas ao esquema da tabela de destino. Aplica-se a lotes e anexos de transmissão. Aplica-se à atualização do esquema da tabela. |
| Nenhuma |
| Se deve substituir o esquema da tabela e o particionamento ao sobrescrever. Requer |
| Nenhuma |
| O modo de substituição da partição. Defina esta opção como |
| Nenhuma | Uma string de expressão booleana | Uma expressão booleana que compara linhas na tabela de destino para substituir por linhas da consulta de origem. É possível referenciar colunas tanto da tabela de destino quanto da consulta de origem. As linhas no destino que correspondem a uma linha de origem são excluídas e substituídas. Se a origem estiver vazia, nenhuma exclusão ocorrerá. Use |
| Nenhuma | Uma lista separada por vírgulas de nomes de colunas | Uma lista de nomes de colunas separados por vírgulas, usada para encontrar correspondências entre as linhas da tabela de destino e da consulta de origem. Tanto o destino quanto a origem devem conter todas as colunas listadas. As linhas no destino que correspondem a uma linha de origem na comparação de igualdade são excluídas e substituídas. Os valores |
| Nenhuma | Uma string de expressão de predicado | Uma expressão predicativa. Sobrescreve atomicamente apenas os registros que correspondem ao predicado. Aplica-se à sobrescrita seletiva de dados com o Delta Lake. |
| Nenhuma | Qualquer cadeia de caracteres | Um alias de string para a tabela de destino. Use com |
| Nenhuma | Qualquer cadeia de caracteres | Uma string única que identifica a aplicação para escritas idempotentes em |
| Nenhuma | Um inteiro crescente monotonicamente | Um número monotonicamente crescente usado como versão de transação para escritas idempotentes em operações |
| Nenhuma |
| Indica se deseja ativar a otimização automática de gravação para esta operação de gravação. Substitui a configuração |
| Nenhuma | Qualquer cadeia de caracteres | Uma sequência de caracteres definida pelo usuário é anexada aos metadados commit das operações de escrita. Visível na saída de |
CSV
As seguintes opções se aplicam ao gravar arquivos CSV.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
| Um único caractere | O caractere usado para escapar do caractere de escape quando ele difere do caractere de aspas. Aplica-se a arquivos CSV (DataFrameWriter). |
|
|
| Codec de compactação a ser usado ao gravar. Aplica-se a CSV (DataFrameWriter). |
|
| Uma string de formato de data | Cadeias de formatação para valores de coluna de data. Aplica-se a arquivos CSV (DataFrameWriter). |
| Cadeias vazias | Qualquer cadeia de caracteres | As strings escritas para valores vazios (não nulos). Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Nome do(a) | A codificação de caracteres para os arquivos de saída. Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Um único caractere | O caractere usado para escapar valores entre aspas. Aplica-se a arquivos CSV (DataFrameWriter). |
|
|
| Indica se os caracteres de aspas devem ser escapados dentro de valores de campos entre aspas. Aplica-se a arquivos CSV (DataFrameWriter). |
|
|
| Indica se os nomes das colunas devem ser exibidos como a primeira linha da saída. Aplica-se a arquivos CSV (DataFrameWriter). |
|
|
| Se deve ou não remover os espaços em branco iniciais dos valores ao escrever. Aplica-se a arquivos CSV (DataFrameWriter). |
|
|
| Se deve ou não remover os espaços em branco à direita dos valores ao escrever. Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Uma string | As sequências de caracteres que separam as linhas entre os registros. Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Um identificador | Um identificador |
| Cadeias vazias | Qualquer cadeia de caracteres | strings escritas para valores nulos. Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Um único caractere | O caractere usado para delimitar valores de campos que contêm o separador. Aplica-se a arquivos CSV (DataFrameWriter). |
|
|
| Indica se todos os valores dos campos devem ser colocados entre aspas, independentemente do conteúdo. Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Uma string | O caractere delimitador de campo. Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Uma string de formato de carimbo de data/hora | As strings de formatação para os valores da coluna de carimbo de data/hora. Aplica-se a arquivos CSV (DataFrameWriter). |
|
| Uma string de formato de carimbo de data/hora | Strings de formatação para valores de coluna de carimbo de data/hora sem fuso horário ( |
Excel
As seguintes opções se aplicam ao escrever arquivos Excel.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma string de nome de planilha ou de referência de célula | O nome da planilha ou a célula inicial para a escrita. Se omitido, escreve em uma planilha chamada |
|
| Uma string de formato de data do Excel | Cadeias de formatação de células Excel aplicadas às colunas |
|
|
| Se os nomes das colunas devem ser escritos como a primeira linha. |
|
| Uma cadeia de caracteres de formato de carimbo de data/hora do Excel | Cadeias de formatação de células Excel aplicadas às colunas |
|
|
| A versão do formato de arquivo Excel para gravar. |
JSON
As seguintes opções se aplicam ao escrever arquivos JSON.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Codec de compactação a ser usado ao gravar. Aplica-se a JSON (DataFrameWriter). |
|
| Uma string de formato de data | Cadeias de formatação para valores de coluna de data. Aplica-se a JSON (DataFrameWriter). |
|
| Nome do(a) | A codificação de caracteres para os arquivos de saída. Aplica-se a JSON (DataFrameWriter). |
| valor de |
| Indica se os campos com valores nulos devem ser omitidos da saída JSON. Aplica-se a JSON (DataFrameWriter). |
|
| Uma string | As sequências de caracteres que separam as linhas entre os registros. Aplica-se a JSON (DataFrameWriter). |
|
| Um identificador | Um identificador de localidade Java que afeta a data padrão, o carimbo de data/hora e a análise decimal dentro do JSON. |
|
|
| Ativar ou desativar a saída JSON formatada (com recuo e várias linhas). |
|
|
| Indica se a chave dos objetos JSON deve ser classificada em ordem alfabética na saída. Útil para produzir resultados determinísticos. |
|
| Uma string de formato de carimbo de data/hora | As strings de formatação para os valores da coluna de carimbo de data/hora. Aplica-se a JSON (DataFrameWriter). |
|
| Uma string de formato de carimbo de data/hora | Strings de formatação para valores de coluna de carimbo de data/hora sem fuso horário ( |
|
|
| Indica se os caracteres não ASCII devem ser codificados como sequências de escape Unicode |
ORC
As seguintes opções se aplicam ao gravar arquivos ORC.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Codec de compactação a ser usado ao gravar. Aplica-se a orc (DataFrameWriter). |
Parquet
As seguintes opções se aplicam ao escrever arquivos Parquet.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Codec de compactação a ser usado ao gravar. Aplica-se a Parquet (DataFrameWriter). |
|
|
| O tipo físico usado para codificar colunas de carimbo de data/hora. Use |
Texto
As seguintes opções se aplicam ao gravar arquivos de texto.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Codec de compactação a ser usado ao gravar. Aplica-se a texto (DataFrameWriter). |
|
| Nome do(a) | A codificação de caracteres para os arquivos de saída. |
|
| Uma string | As sequências de caracteres que separam as linhas entre os registros. Aplica-se ao texto (DataFrameWriter). |
XML
As seguintes opções se aplicam ao escrever arquivos XML.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
| Qualquer cadeia de caracteres | O nome do elemento para elementos de matriz que não possuem um nome explícito. Aplica-se a xml (DataFrameWriter). |
|
| Qualquer cadeia de caracteres | O prefixo adicionado aos nomes de campos que correspondem a atributos XML. Aplica-se a xml (DataFrameWriter). |
|
|
| Codec de compactação a ser usado ao gravar. Aplica-se a xml (DataFrameWriter). |
|
| Uma string de formato de data | Cadeias de formatação para valores de coluna de data. Aplica-se a xml (DataFrameWriter). |
|
| Uma string de declaração XML, ou string vazia para omitir. | As strings de declaração XML escritas no início de cada arquivo de saída. Defina como uma string vazia para suprimir a declaração. Aplica-se a xml (DataFrameWriter). |
|
| Nome do(a) | A codificação de caracteres para os arquivos de saída. Aplica-se a xml (DataFrameWriter). |
| 4 espaços | Qualquer cadeia de caracteres | As strings usadas para indentar os elementos filhos na saída. Defina como uma string vazia para desativar o recuo e escrever cada linha em uma única linha. |
|
| Um identificador | Um identificador de localidade Java que afeta a formatação padrão de data, carimbo de data/hora e decimal dentro do XML. |
|
| Qualquer cadeia de caracteres | As strings escritas para valores nulos. Quando definido como |
|
| Qualquer cadeia de caracteres | A tag do elemento raiz que envolve todos os elementos da linha na saída. Aplica-se a xml (DataFrameWriter). |
|
| Qualquer cadeia de caracteres | A tag do elemento que representa uma linha na saída. Aplica-se a xml (DataFrameWriter). |
| Nenhuma | Uma string de nome de coluna | O nome da única coluna Variant a ser gravada nos arquivos XML. Aplica-se a xml (DataFrameWriter). |
|
| Uma string de formato de carimbo de data/hora | As strings de formatação para os valores da coluna de carimbo de data/hora. Aplica-se a xml (DataFrameWriter). |
|
| Uma string de formato de carimbo de data/hora | Formatar strings para carimbo de data/hora sem valores de coluna de fuso horário. Aplica-se a xml (DataFrameWriter). |
|
|
| Indica se deve ser lançada uma exceção caso o nome de uma coluna não seja um identificador de elemento XML válido. Aplica-se a xml (DataFrameWriter). |
|
| Qualquer cadeia de caracteres | O nome do campo usado para dados de caracteres em elementos XML que também possuem atributos ou elementos filhos. Aplica-se a xml (DataFrameWriter). |
Opções do DataStreamWriter
Use estas opções com DataStreamWriter.option() para configurar gravações de transmissão.
Exemplo
O exemplo a seguir define a localização do ponto de verificação para uma transmissão:
- Python
- Scala
(df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table"))
df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table")
Comum
As seguintes opções se aplicam a todas as operações de gravação em transmissão.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhum (obrigatório) | Uma string de caminho | Caminho para o diretório de checkpoint da consulta de transmissão. Requerido para tolerância a falhas e garantias de processamento exatamente uma vez. Cada consulta de transmissão deve usar um local de ponto de verificação exclusivo. Databricks recomenda armazenar os pontos de verificação em um volume Unity Catalog ou em um caminho de armazenamento cloud . Veja postos de controle de transmissão estruturada. |
| Nenhuma | Uma string de caminho | Caminho de saída para destinos de transmissão baseados em arquivos, como Parquet. Aplica-se somente a formatos baseados em arquivos. |
pia de console
As seguintes opções se aplicam ao gravar transmissões para o coletor de console.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
| Inteiros positivos | O número de linhas a serem exibidas para cada microlote ao escrever no coletor de dados do console. |
|
|
| Indica se as strings longas devem ser truncadas ao exibir as linhas. Defina como |
Delta Lake
As seguintes opções se aplicam ao gravar uma transmissão em uma tabela Delta Lake usando format("delta"). Opções somente de sobrescrita, como overwriteSchema, replaceWhere e partitionOverwriteMode não são suportadas para gravações de transmissão.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Se deve ou não evoluir o esquema da tabela Delta Lake quando o DataFrame de transmissão contiver novas colunas. Aplica-se somente ao modo de saída de anexos. Aplica-se à atualização do esquema da tabela. |
| Nenhuma | Qualquer cadeia de caracteres | Uma sequência de caracteres definida pelo usuário é anexada aos metadados commit das operações de escrita. Visível na saída de |
Pia de arquivo
A seguinte opção aplica-se ao gravar uma transmissão em formatos baseados em arquivos (Parquet, JSON, CSV, ORC, texto). Para opções específicas de formato, consulte Opções do DataFrameWriter.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma sequência de tempo, como | Por quanto tempo reter os arquivos de metadados do coletor usados para tolerância a falhas e compactação? Quando não for definido, os arquivos de metadados serão retidos indefinidamente. |
Pia de Kafka
As opções a seguir se aplicam ao gravar no Kafka.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Uma lista delimitada por vírgulas de | Obrigatório. Uma lista de endereços de brokers Kafka |
| Nenhuma | Qualquer cadeia de caracteres | O tópico de destino do Kafka para todas as linhas. Obrigatório se o DataFrame não incluir uma coluna |
| Nenhuma | Qualquer valor de configuração do produtor Kafka | Qualquer configuração de produtor Kafka com o prefixo |
Pia de memória
As seguintes opções se aplicam ao gravar transmissões no coletor de memória.
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhum (obrigatório) | Qualquer cadeia de caracteres | O nome da tabela na memória na qual a consulta grava. Necessário para o armazenamento de memória. Também configurável via |
|
|
| Garantia de entrega para o coletor de memória. |
Opções da função Spark
Algumas funções integradas Spark SQL aceitam um mapa options que controla o comportamento de análise ou serialização. Passe opções como um Python dict ou um Scala Map[String, String].
Exemplo
O exemplo a seguir analisa uma coluna JSON, descartando registros malformados:
- Python
- Scala
from pyspark.sql.functions import from_json
from pyspark.sql.types import StructType, StructField, StringType
schema = StructType([StructField("name", StringType())])
df = df.withColumn("parsed", from_json("json_col", schema, {"mode": "DROPMALFORMED"}))
import org.apache.spark.sql.functions.from_json
import org.apache.spark.sql.types._
val schema = StructType(Seq(StructField("name", StringType)))
val df = df.withColumn("parsed", from_json(col("json_col"), schema, Map("mode" -> "DROPMALFORMED")))
Avro
As funções Avro aceitam as mesmas opções que as opções correspondentes do DataFrame:
from_avroeschema_of_avrousam opções Avro do DataFrameReader.to_avroUtiliza opções Avro do DataFrameWriter.
Exemplo
O exemplo a seguir decodifica uma coluna Avro com evolução do esquema habilitada:
- Python
- Scala
from pyspark.sql.functions import from_avro
df = df.withColumn("decoded", from_avro("avro_col", json_schema, {"avroSchemaEvolutionMode": "restart"}))
import org.apache.spark.sql.avro.functions.from_avro
val df = df.withColumn("decoded", from_avro(col("avro_col"), jsonSchema, Map("avroSchemaEvolutionMode" -> "restart")))
Além disso, as variantes do Schema Registry de from_avro e to_avro aceitam as seguintes opções:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
| Nenhuma | Inteiro de ID de esquema | ID do esquema do Confluent Schema Registry a ser usado ao decodificar dados Avro que foram codificados com um esquema incompatível com |
| Nenhuma | Qualquer valor de propriedade do cliente Confluent SR | Propriedades de configuração do cliente do Confluent Schema Registry. Passe qualquer propriedade do cliente Confluent SR usando este prefixo, por exemplo, |
CSV
As funções CSV aceitam as mesmas opções que as opções correspondentes do DataFrame:
from_csveschema_of_csvusam as opções CSV do DataFrameReader.to_csvUtiliza as opções CSV do DataFrameWriter.
Exemplo
O exemplo a seguir lê um arquivo CSV com um separador personalizado e o valor NULL :
- Python
- Scala
from pyspark.sql.functions import from_csv
from pyspark.sql.types import StructType, StructField, IntegerType, StringType
schema = StructType([StructField("id", IntegerType()), StructField("name", StringType())])
df = df.withColumn("parsed", from_csv("csv_col", schema, {"sep": "|", "nullValue": "N/A"}))
import org.apache.spark.sql.functions.from_csv
import org.apache.spark.sql.types._
val schema = StructType(Seq(StructField("id", IntegerType), StructField("name", StringType)))
val df = df.withColumn("parsed", from_csv(col("csv_col"), schema, Map("sep" -> "|", "nullValue" -> "N/A")))
JSON
As funções JSON aceitam as mesmas opções que as opções correspondentes do DataFrame:
from_jsoneschema_of_jsonusam opções JSON do DataFrameReader.to_jsonUtiliza opções JSON do DataFrameWriter.
Exemplo
O exemplo a seguir escreve JSON com campos NULL ignorados e formatação amigável ativada:
- Python
- Scala
from pyspark.sql.functions import to_json
df = df.withColumn("json_str", to_json("struct_col", {"pretty": "true", "ignoreNullFields": "true"}))
import org.apache.spark.sql.functions.to_json
val df = df.withColumn("json_str", to_json(col("struct_col"), Map("pretty" -> "true", "ignoreNullFields" -> "true")))
Protobuf
from_protobuf e to_protobuf não usam uma fonte de dados baseada em arquivo. Os dados Protobuf são sempre lidos e gravados como colunas binárias usando essas funções. As opções são passadas como Map[String, String] e diferenciam maiúsculas de minúsculas.
Exemplo
O exemplo a seguir decodifica uma coluna Protobuf usando o modo PERMISSIVO:
- Python
- Scala
from pyspark.sql.functions import from_protobuf
df = df.withColumn("decoded", from_protobuf("proto_col", "MyMessage", "/path/to/descriptor.desc",
{"mode": "PERMISSIVE", "enums.as.ints": "true"}))
import org.apache.spark.sql.protobuf.functions.from_protobuf
val df = df.withColumn("decoded", from_protobuf(col("proto_col"), "MyMessage", "/path/to/descriptor.desc",
Map("mode" -> "PERMISSIVE", "enums.as.ints" -> "true")))
As funções do Protobuf utilizam as seguintes opções:
Chave | Padrão | Valores válidos | Descrição |
|---|---|---|---|
|
|
| Como gerenciar registros corrompidos. |
|
|
| Profundidade máxima de recursão para campos Protobuf recursivos. Defina como |
|
|
| Se deve converter campos Protobuf |
|
|
| Indica se os campos devem ser emitidos com valores zero ou valores default (semântica do Proto3). Quando |
|
|
| Indica se os campos de enumeração devem ser renderizados como valores inteiros em vez de strings. Aplica-se a |
|
|
| Indica se é necessário converter |
|
|
| Se deve desembrulhar os tipos wrapper |
|
|
| Indica se os tipos de mensagem Protobuf vazios devem ser mantidos no esquema de saída, inserindo uma coluna fictícia. Aplica-se a |
| Nenhuma | Qualquer cadeia de caracteres | Nome do assunto do Registro de Esquemas. Obrigatório ao usar as variantes do Schema Registry de |
| Nenhuma | Uma sequência | Endereço do Schema Registry (host e porta). Obrigatório ao usar as variantes do Schema Registry de |
| Nenhuma | Qualquer cadeia de caracteres | Especifica qual mensagem Protobuf usar quando o assunto do registro de esquema contém várias mensagens. Opcional. |
|
|
| Como as alterações de esquema são tratadas quando um ID de esquema mais recente é detectado em um registro de entrada. |
| — | Qualquer valor válido de opção de cliente do Registro de Esquema Confluente | Passe qualquer opção de cliente do Registro de Esquema Confluent usando o prefixo |
XML
As funções XML aceitam as mesmas opções que as opções correspondentes do DataFrame:
from_xmleschema_of_xmlusam opções XML do DataFrameReader.to_xmlUtiliza opções XML do DataFrameWriter.
Exemplo
O exemplo a seguir escreve XML com tags raiz e de linha personalizadas:
- Python
- Scala
from pyspark.sql.functions import to_xml
df = df.withColumn("xml_str", to_xml("struct_col", {"rootTag": "records", "rowTag": "record"}))
import org.apache.spark.sql.functions.to_xml
val df = df.withColumn("xml_str", to_xml(col("struct_col"), Map("rootTag" -> "records", "rowTag" -> "record")))