to_avro

Konwertuje kolumnę na dane binarne formatu Avro.

subject Jeśli funkcja konwertuje schemaRegistryAddress kolumnę na dane binarne w formacie Avro rejestru schematów i jest udostępniana. Schemat danych wejściowych musi zostać zarejestrowany dla danego podmiotu w rejestrze schematów lub zapytanie kończy się niepowodzeniem w czasie wykonywania.

Składnia

from pyspark.sql.avro.functions import to_avro

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

Parametry

Parameter Typ Opis
data pyspark.sql.Column lub str Kolumna danych do serializacji.
jsonFormatSchema str, opcjonalnie Określony przez użytkownika schemat Avro w formacie ciągu JSON.
subject pyspark.sql.Column lub str, opcjonalnie Temat w rejestrze schematów, do którego należą dane.
schemaRegistryAddress str, opcjonalnie Adres (host i port) rejestru schematów.
options dict, opcjonalnie Opcje kontrolowania serializacji rekordu Avro i konfiguracji klienta rejestru schematów.

Zwroty

pyspark.sql.Column: Nowa kolumna zawierająca dane binarne zakodowane w formacie Avro.

Examples

Przykład 1. Konwertowanie kolumny ciągu na format binarny Avro

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

Przykład 2. Konwertowanie kolumny ciągu na avro przy użyciu niestandardowego schematu JSON

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