opção (DataFrameWriter)

Adiciona uma opção de saída para a fonte de dados subjacente. Para algumas opções disponíveis, consulte Opções.

Sintaxe

option(key, value)

Parâmetros

Parâmetro Tipo Descrição
key str A tecla de opção.
value força, inteligência, flutuação ou bool O valor da opção.

Opções

A tabela seguinte contém algumas opções para escritores:

Chave Formatos Descrição
arrayElementName XML O nome do elemento para elementos de array que não têm nome explícito. Padrão: item. Aplica-se a xml (DataFrameWriter).
attributePrefix XML O prefixo precedia os nomes dos campos que correspondem a atributos XML. Padrão: _. Aplica-se a xml (DataFrameWriter).
avroSchema Avro O esquema completo do Avro como uma cadeia JSON. Use esta opção para converter tipos SQL do Spark para tipos específicos de Avro. Aplica-se ao ficheiro Avro.
charToEscapeQuoteEscaping CSV A personagem costumava escapar da personagem de fuga quando esta difere da personagem da citação. Padrão: \0 (não ativado). Aplica-se ao csv (DataFrameWriter).
clusterByAuto Lago Delta Se deve ativar clustering automático de líquidos, onde o Azure Databricks seleciona colunas de agrupamento com base em padrões de consulta. Válido apenas com mode("overwrite"). Não pode ser usado com append o modo. Padrão: false. Disponível no Databricks Runtime 16.4 e superior. Aplica-se ao uso de agrupamento líquido para tabelas.
compression CSV, JSON, ORC, Parquet, Texto, XML Codec de compressão para usar na escrita. Os valores válidos variam consoante o formato. Aplica-se a csv (DataFrameWriter), json (DataFrameWriter), orc (DataFrameWriter),parquet (DataFrameWriter), texto (DataFrameWriter),xml (DataFrameWriter).
dateFormat CSV, JSON, XML Formatar uma string para valores de colunas de datas. Padrão: yyyy-MM-dd. Aplica-se a csv (DataFrameWriter), json (DataFrameWriter),xml (DataFrameWriter).
declaration XML A cadeia de declaração XML escrita no topo de cada ficheiro de saída. Definido para uma cadeia vazia para suprimir a declaração. Padrão: version="1.0" encoding="UTF-8" standalone="yes". Aplica-se a xml (DataFrameWriter).
emptyValue CSV A cadeia escrita para valores vazios (não nulos). Padrão: "". Aplica-se ao csv (DataFrameWriter).
encoding CSV, JSON, XML A codificação de caracteres para os ficheiros de saída. Padrão: UTF-8. Aplica-se a csv (DataFrameWriter), json (DataFrameWriter),xml (DataFrameWriter).
escape CSV A personagem costumava escapar dos valores entre aspas. Padrão: \. Aplica-se ao csv (DataFrameWriter).
escapeQuotes CSV Se deve escapar dos caracteres de aspas dentro dos valores de campos entre aspas. Padrão: true. Aplica-se ao csv (DataFrameWriter).
header CSV Se deve escrever os nomes das colunas como a primeira linha da saída. Padrão: false. Aplica-se ao csv (DataFrameWriter).
ignoreLeadingWhiteSpace CSV Se devo cortar o espaço em branco inicial dos valores ao escrever. Padrão: false. Aplica-se ao csv (DataFrameWriter).
ignoreNullFields JSON Se deve omitir campos com valores nulos da saída JSON. Padrão: valor de spark.sql.jsonGenerator.ignoreNullFields. Aplica-se a json (DataFrameWriter).
ignoreTrailingWhiteSpace CSV Se deve cortar o espaço em branco final dos valores ao escrever. Padrão: false. Aplica-se ao csv (DataFrameWriter).
lineSep CSV, JSON, Texto A cadeia separadora de linhas usada entre discos. Padrão: \n. Aplica-se a csv (DataFrameWriter), json (DataFrameWriter),texto (DataFrameWriter).
mergeSchema Lago Delta Se deve ativar a evolução do esquema para a operação de escrita. Novas colunas no DataFrame de origem são adicionadas ao esquema da tabela de destino. Aplica-se a anexos em lote e streaming. Aplica-se ao esquema da tabela de atualização.
nullValue CSV String escrita para valores nulos. Padrão: "". Aplica-se ao csv (DataFrameWriter).
nullValue XML A cadeia escrita para valores nulos. Padrão: null. Quando definido para null, os atributos e elementos filhos para campos nulos são omitidos. Aplica-se a xml (DataFrameWriter).
overwriteSchema Lago Delta Se deve substituir o esquema da tabela e a partição ao sobrescrever. Requer mode("overwrite") sem replaceWhere. Não pode ser utilizado com partitionOverwriteMode. Aplica-se ao esquema da tabela de atualização.
partitionOverwriteMode Lago Delta O modo de sobrescrição de partições. Defina isto para dynamic sobrescrever apenas partições que contenham novos dados, deixando todas as outras partições inalteradas. Modo legado; não suportado em computação serverless nem em SQL do Databricks. Aplica-se a sobrescrever seletivamente dados com Delta Lake.
quote CSV O carácter usado para citar os valores dos campos que contêm o separador. Padrão: ". Aplica-se ao csv (DataFrameWriter).
quoteAll CSV Se deve incluir todos os valores do campo entre aspas, independentemente do conteúdo. Padrão: false. Aplica-se ao csv (DataFrameWriter).
recordName Avro O nome do registo de topo no esquema Avro de saída. Padrão: topLevelRecord. Aplica-se ao ficheiro Avro.
recordNamespace Avro O namespace para o registo de topo no esquema Avro de saída. Padrão: "". Aplica-se ao ficheiro Avro.
replaceWhere Lago Delta Uma expressão de predicado. Atómicamente sobrescrive apenas os registos que correspondem ao predicado. Aplica-se a sobrescrever seletivamente dados com Delta Lake.
rootTag XML A etiqueta de elemento raiz que envolve todos os elementos da linha na saída. Padrão: ROWS. Aplica-se a xml (DataFrameWriter).
rowTag XML A etiqueta de elemento que representa uma linha na saída. Padrão: ROW. Aplica-se a xml (DataFrameWriter).
sep CSV O carácter delimitador de campo. Padrão: ,. Aplica-se ao csv (DataFrameWriter).
timestampFormat CSV, JSON, XML A string de formato para valores de colunas com carimbo temporal. Padrão: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. Aplica-se a csv (DataFrameWriter), json (DataFrameWriter),xml (DataFrameWriter).
txnAppId Lago Delta Uma string única que identifica a aplicação para idempotentes escreve em foreachBatch operações. Use também txnVersion para garantir escritas exatamente uma vez em várias tabelas Delta Lake. Aplica-se à utilização foreachBatch para escritas de tabelas idempotentes.
txnVersion Lago Delta Um número monotonamente crescente usado como versão de transação para escritas idempotentes em foreachBatch operações. Use também txnAppId para garantir escritas exatamente uma vez em várias tabelas Delta Lake. Aplica-se à utilização foreachBatch para escritas de tabelas idempotentes.
userMetadata Lago Delta, Icebergue Apache Uma cadeia definida pelo utilizador anexada aos metadados de commit para a operação de escrita. Visível na saída de DESCRIBE HISTORY. Aplica-se a tabelas Enrich com metadados personalizados.
validateName XML Se deve lançar uma exceção se o nome de uma coluna não for um identificador válido de elemento XML. Padrão: true. Aplica-se a xml (DataFrameWriter).
valueTag XML O nome do campo é usado para dados de caracteres em elementos XML que também possuem atributos ou elementos filhos. Padrão: _VALUE. Aplica-se a xml (DataFrameWriter).

Devoluções

DataFrameWriter

Exemplos

Escreve um DataFrame num ficheiro CSV com as nullValue opções definidas.

import tempfile
with tempfile.TemporaryDirectory(prefix="option") as d:
    df = spark.createDataFrame([(100, None)], "age INT, name STRING")
    df.write.option("nullValue", "Alice").mode("overwrite").format("csv").save(d)

    spark.read.schema(df.schema).format('csv').load(d).show()
    # +---+------------+
    # |age|        name|
    # +---+------------+
    # |100|Alice|
    # +---+------------+