to_avro

Converteert een kolom naar binair bestand van Avro-indeling.

Als beide subject en schemaRegistryAddress zijn opgegeven, converteert de functie een kolom naar binaire indeling van Schema Registry Avro. Het invoergegevensschema moet zijn geregistreerd bij het opgegeven onderwerp in het schemaregister of de query mislukt tijdens runtime.

Syntaxis

from pyspark.sql.avro.functions import to_avro

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

Parameterwaarden

Kenmerk Typ Beschrijving
data pyspark.sql.Column of str De gegevenskolom die moet worden geserialiseerd.
jsonFormatSchema str, optioneel Door de gebruiker opgegeven uitvoer Avro-schema in JSON-tekenreeksindeling.
subject pyspark.sql.Column of str, optioneel Het onderwerp in schemaregister waartoe de gegevens behoren.
schemaRegistryAddress str, optioneel Het adres (host en poort) van het schemaregister.
options dicteren, optioneel Opties om te bepalen hoe de Avro-record wordt geserialiseerd en geconfigureerd voor de schemaregisterclient.

Retouren

pyspark.sql.Column: Een nieuwe kolom met de binaire avro-gecodeerde gegevens.

Examples

Voorbeeld 1: Een tekenreekskolom converteren naar een binaire Avro-indeling

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...|
+--------------------+

Voorbeeld 2: Een tekenreekskolom converteren naar Avro met behulp van een aangepast 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] |
+--------+