Pular para o conteúdo principal

para_avro

Converte uma coluna para o formato binário Avro.

Se forem fornecidos ambos subject e schemaRegistryAddress , a função converte uma coluna em binário no formato Avro do Schema Registry. O esquema de dados de entrada deve ter sido registrado para o assunto especificado no Registro de Esquemas, caso contrário, a consulta falhará em tempo de execução.

Sintaxe

Python
from pyspark.sql.avro.functions import to_avro

to_avro(data, jsonFormatSchema=None, subject=None, schemaRegistryAddress=None, options=None)

Parâmetros

Parâmetro

Tipo

Descrição

data

pyspark.sql.Column ou str

A coluna de dados a ser serializada.

jsonFormatSchema

str, opcional

Esquema Avro de saída especificado pelo usuário em formato de strings JSON .

subject

pyspark.sql.Column ou str, opcional

O assunto no Registro de Esquemas ao qual os dados pertencem.

schemaRegistryAddress

str, opcional

O endereço (host e porta) do Registro de Esquemas.

options

dicionário, opcional

Opções para controlar como o registro Avro é serializado e configuração para o cliente de registro de esquema.

Devoluções

pyspark.sql.ColumnUma nova coluna contendo os dados binários codificados em Avro.

Exemplos

Exemplo 1 : Convertendo uma coluna de strings para o formato binário Avro

Python
from pyspark.sql.avro.functions import to_avro

data = ['SPADES']
df = spark.createDataFrame(data, "string")
df.select(to_avro(df.value).alias("avro")).show(truncate=False)
Output
+--------------------+
|avro |
+--------------------+
|[00 0C 53 50 41 4...|
+--------------------+

Exemplo 2 : Convertendo uma coluna de strings para Avro usando um esquema JSON personalizado

Python
from pyspark.sql.avro.functions import to_avro

data = ['SPADES']
df = spark.createDataFrame(data, "string")
json_format_schema = '''["null", {"type": "enum", "name": "value",
"symbols": ["SPADES", "HEARTS", "DIAMONDS", "CLUBS"]}]'''
df.select(to_avro(df.value, json_format_schema).alias("avro")).show(truncate=False)
Output
+--------+
|avro |
+--------+
|[02 00] |
+--------+