Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Konvertiert eine Spalte in eine Binärdatei des Avro-Formats.
Wenn beide subject und schemaRegistryAddress bereitgestellt werden, konvertiert die Funktion eine Spalte in eine Binärdatei des Schema Registry Avro-Formats. Das Eingabedatenschema muss für den angegebenen Betreff in der Schemaregistrierung registriert worden sein, oder die Abfrage schlägt zur Laufzeit fehl.
Syntax
from pyspark.sql.avro.functions import to_avro
to_avro(data, jsonFormatSchema=None, subject=None, schemaRegistryAddress=None, options=None)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
pyspark.sql.Column oder str |
Die zu serialisierende Datenspalte. |
jsonFormatSchema |
str, optional | Vom Benutzer angegebenes Avro-Ausgabeschema im JSON-Zeichenfolgenformat. |
subject |
pyspark.sql.Column oder str, optional |
Der Betreff in der Schemaregistrierung, zu dem die Daten gehören. |
schemaRegistryAddress |
str, optional | Die Adresse (Host und Port) der Schemaregistrierung. |
options |
Diktat, optional | Optionen zum Steuern der Serialisierung und Konfiguration des Avro-Eintrags für den Schemaregistrierungsclient. |
Rückkehr
pyspark.sql.Column: Eine neue Spalte, die die avrocodierten Binärdaten enthält.
Beispiele
Beispiel 1: Konvertieren einer Zeichenfolgenspalte in das Avro-Binärformat
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...|
+--------------------+
Beispiel 2: Konvertieren einer Zeichenfolgenspalte in Avro mithilfe eines benutzerdefinierten JSON-Schemas
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] |
+--------+