to_avro

Bir sütunu avro biçimindeki ikili dosyaya dönüştürür.

Hem hem de subjectschemaRegistryAddress sağlanmışsa, işlev bir sütunu Schema Registry Avro biçiminin ikilisine dönüştürür. Giriş verileri şeması Schema Registry'de verilen konuya kaydedilmiş olmalıdır veya sorgu çalışma zamanında başarısız olur.

Sözdizimi

from pyspark.sql.avro.functions import to_avro

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

Parametreler

Parametre Türü Açıklama
data pyspark.sql.Column veya str Serileştirecek veri sütunu.
jsonFormatSchema str, isteğe bağlı JSON dize biçiminde kullanıcı tarafından belirtilen çıkış Avro şeması.
subject pyspark.sql.Column veya str, isteğe bağlı Şema Kayıt Defteri'nde verilerin ait olduğu konu.
schemaRegistryAddress str, isteğe bağlı Şema Kayıt Defteri'nin adresi (konak ve bağlantı noktası).
options dict, isteğe bağlı Şema kayıt defteri istemcisi için Avro kaydının nasıl serileştirildiği ve yapılandırıldığını denetleme seçenekleri.

İadeler

pyspark.sql.Column: Avro ile kodlanmış ikili verileri içeren yeni bir sütun.

Örnekler

Örnek 1: Dize sütununu Avro ikili biçimine dönüştürme

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

Örnek 2: Özel JSON şeması kullanarak bir dize sütununu Avro'ya dönüştürme

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