python - databricks 之外是否有另一种/类似的 Spark.read.format.load 方法?

标签 python apache-spark-sql avro databricks

我正在尝试将 avro 文件加载到 Sparks 数据框中,以便我可以将其转换为 pandas 并最终转换为字典。我想使用的方法:

df = spark.read.format("avro").load(avro_file_in_memory)

(注意:我尝试加载到数据帧中的 avro 文件数据已经在内存中作为来自 python 请求的请求响应的响应)

但是,此函数使用 databricks 环境中原生的 Spark,而我并未在该环境中工作(我在 pysparks 中查找了类似的函数/代码,但我自己看不到任何内容)。

是否有任何类似的函数可以在数据 block 之外使用来产生相同的结果?

最佳答案

Databricks 库是开源的,但实际上已在 2.4 中添加到 Spark 核心(尽管仍然是外部库)

无论如何,都有一个原生的 avro Python 库以及 fastavro,所以我不完全确定您是否想要启动 JVM(因为您正在使用 Spark),只是为了将 Avro 数据加载到一本字典。除此之外,Avro 文件由多个记录组成,因此它至少是一个字典列表

基本上,我认为您最好使用上一个问题中的方法,但首先将 Avro 数据写入磁盘,因为这似乎是您当前的问题

否则,也许多搜索一下您要查找的内容就可以解决此问题 XY problem你有

https://github.com/ynqa/pandavro

关于python - databricks 之外是否有另一种/类似的 Spark.read.format.load 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56496674/

相关文章:

python - 在 Python 中比较随机结果并将其转换为 JSON 文件上的 "points"的简单方法

python - jupyter笔记本中的plt.subplot

python - 搜索函数python

java - 使用 Spark SQL 数据集作为基于 RDD 的作业

google-bigquery - Avro 纪元日期时间到 bq 时间戳

python - 使用 BeautifulSoup 根据其中包含的字符串提取 li 元素

apache-spark - SparkSQL - 一些分区出现在 HiveServer2 但不是 SparkSQL

sql - SparkSQL : conditional sum using two columns

hadoop - AvroMultipleOutputs 创建空文件,日志中没有错误

java - 使用不同 Avro 类型向 Kafka 发送消息的性能 – SpecificRecordBase 与带有 Schema Registry 的 GenericRecord