Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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] |
+--------+