本文简要介绍
pyspark.sql.avro.functions.from_avro
的用法。用法:
pyspark.sql.avro.functions.from_avro(data, jsonFormatSchema, options=None)
将 Avro 格式的二进制列转换为其相应的催化剂值。指定的模式必须与读取的数据匹配,否则行为未定义:它可能会失败或返回任意结果。要使用兼容和进化的模式反序列化数据,可以通过选项 avroSchema 设置预期的 Avro 模式。
3.0.0 版中的新函数。
- data:
Column
或 str 二进制列。
- jsonFormatSchema:str
JSON 字符串格式的 avro 模式。
- options:字典,可选
控制如何解析 Avro 记录的选项。
- data:
参数:
注意:
自 Spark 2.4 以来,Avro 是内置但外部的数据源模块。请按照“Apache Avro 数据源指南”的部署部分部署应用程序。
例子:
>>> from pyspark.sql import Row >>> from pyspark.sql.avro.functions import from_avro, to_avro >>> data = [(1, Row(age=2, name='Alice'))] >>> df = spark.createDataFrame(data, ("key", "value")) >>> avroDf = df.select(to_avro(df.value).alias("avro")) >>> avroDf.collect() [Row(avro=bytearray(b'\x00\x00\x04\x00\nAlice'))]
>>> jsonFormatSchema = '''{"type":"record","name":"topLevelRecord","fields": ... [{"name":"avro","type":[{"type":"record","name":"value","namespace":"topLevelRecord", ... "fields":[{"name":"age","type":["long","null"]}, ... {"name":"name","type":["string","null"]}]},"null"]}]}''' >>> avroDf.select(from_avro(avroDf.avro, jsonFormatSchema).alias("value")).collect() [Row(value=Row(avro=Row(age=2, name='Alice')))]
相关用法
- Python pyspark from_csv用法及代码示例
- Python pyspark from_json用法及代码示例
- Python pyspark from_unixtime用法及代码示例
- Python pyspark from_utc_timestamp用法及代码示例
- Python pyspark flatten用法及代码示例
- Python pyspark forall用法及代码示例
- Python pyspark filter用法及代码示例
- Python pyspark factorial用法及代码示例
- Python pyspark format_string用法及代码示例
- Python pyspark create_map用法及代码示例
- Python pyspark date_add用法及代码示例
- Python pyspark DataFrame.to_latex用法及代码示例
- Python pyspark DataStreamReader.schema用法及代码示例
- Python pyspark MultiIndex.size用法及代码示例
- Python pyspark arrays_overlap用法及代码示例
- Python pyspark Series.asof用法及代码示例
- Python pyspark DataFrame.align用法及代码示例
- Python pyspark Index.is_monotonic_decreasing用法及代码示例
- Python pyspark IsotonicRegression用法及代码示例
- Python pyspark DataFrame.plot.bar用法及代码示例
- Python pyspark DataFrame.to_delta用法及代码示例
- Python pyspark element_at用法及代码示例
- Python pyspark explode用法及代码示例
- Python pyspark MultiIndex.hasnans用法及代码示例
- Python pyspark Series.to_frame用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.sql.avro.functions.from_avro。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。