to_avro

Konverterar en kolumn till binärt Avro-format.

Om både subject och schemaRegistryAddress tillhandahålls konverterar funktionen en kolumn till binärt Schema Registry Avro-format. Indataschemat måste ha registrerats för det angivna ämnet i Schema Registry, eller så misslyckas frågan vid körning.

Syntax

from pyspark.sql.avro.functions import to_avro

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

Parameters

Parameter Type Beskrivning
data pyspark.sql.Column eller str Datakolumnen som ska serialiseras.
jsonFormatSchema str, valfritt Användardefinierad utdata för Avro-schema i JSON-strängformat.
subject pyspark.sql.Column eller str, valfritt Det ämne i schemaregistret som data tillhör.
schemaRegistryAddress str, valfritt Adressen (värd och port) för schemaregistret.
options diktering, valfritt Alternativ för att styra hur Avro-posten serialiseras och konfiguration för schemaregisterklienten.

Retur

pyspark.sql.Column: En ny kolumn som innehåller Avro-kodade binära data.

Exempel

Exempel 1: Konvertera en strängkolumn till Binärt Avro-format

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)
+--------------------+
|avro                |
+--------------------+
|[00 0C 53 50 41 4...|
+--------------------+

Exempel 2: Konvertera en strängkolumn till Avro med ett anpassat JSON-schema

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)
+--------+
|avro    |
+--------+
|[02 00] |
+--------+