我正在尝试将avro文件加载到sparks数据帧中,以便我可以将其转换为熊猫并最终转换为字典。我想使用的方法:
df = spark.read.format("avro").load(avro_file_in_memory)
(注意:我尝试加载到数据帧中的 avro 文件数据已经在内存中,作为来自 python 请求的请求响应的响应(
但是,此函数使用数据砖环境原生的火花,我没有在其中工作(我在pyspark中查找了类似的函数/代码,但自己看不到任何东西(。
是否有任何类似的函数可以在数据砖之外使用来产生相同的结果?
Databricks库是开源的,但实际上是在2.4中添加到核心Spark中(尽管仍然是一个外部库(
无论如何,有一个原生的avro Python库,以及fastavro,所以我不完全确定你是否要启动一个JVM(因为你正在使用Spark(,只是为了将Avro数据加载到字典中。除此之外,一个Avro文件由多个记录组成,所以它至少是一个字典列表
基本上,我认为您最好使用上一个问题中的方法,但从将 Avro 数据写入磁盘开始,因为这似乎是您当前的问题
否则,也许多搜索一下您正在寻找的内容可以解决您遇到的这个 XY 问题
https://github.com/ynqa/pandavro