如何在PySpark中读取Avro文件

如何在PySpark中读取Avro文件,第1张

如何在PySpark中读取Avro文件

火花 > = 2.4.0

您可以使用内置的Avro支持。该API向后兼容该

spark-avro
程序包,并增加了一些附加功能(最引人注目的是
from_avro
/
to_avro
函数)。

请注意,模块未与标准Spark二进制文件捆绑在一起,必须使用

spark.jars.packages
或等效机制将其包含在内。

另请参阅Pyspark 2.4.0,使用读取流从kafka读取avro-
Python

Spark <2.4.0

您可以使用

spark-avro
库。首先让我们创建一个示例数据集:

import avro.schemafrom avro.datafile import DataFileReader, DataFileWriterschema_string ='''{"namespace": "example.avro", "type": "record", "name": "KeyValue", "fields": [     {"name": "key", "type": "string"},     {"name": "value",  "type": ["int", "null"]} ]}'''schema = avro.schema.parse(schema_string)with open("kv.avro", "w") as f, DataFileWriter(f, DatumWriter(), schema) as wrt:    wrt.append({"key": "foo", "value": -1})    wrt.append({"key": "bar", "value": 1})

使用它读取

spark-csv
就像这样简单:

df = sqlContext.read.format("com.databricks.spark.avro").load("kv.avro")df.show()## +---+-----+## |key|value|## +---+-----+## |foo|   -1|## |bar|    1|## +---+-----+


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5057667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存