java - 如何在 Java Spark 中读取 avro 文件作为对象列表
问题描述
我有一个 avro 文件,我想在将其转换为其代表对象后对其进行读取和操作
我尝试在 Java Spark 中使用 RDD 和 DataSet 加载它,但在这两种情况下我都无法转换为所需的对象
作为数据集
Dataset<MyClass> input = sparkSession.read().format("com.databricks.spark.avro").load(inputPath)
.as(Encoders.bean(MyClass.class));
这失败并出现错误“在 bean 类中不能有循环引用,但得到了类 org.apache.avro.Schema 的循环引用”
作为RDD
JavaRDD<String> input = sparkContext.textFile(inputPath);
如何将此 RDD 对象转换为 RDD 对象或 Dataset 对象?
我对此很陌生,所以如果我遗漏了一些基本但无法找到可行的解决方案,请原谅我。
解决方案
推荐阅读
- azure - Azure AD 自定义声明作为单独的属性值
- arduino - 在 arduino IDE 中使用修改后的库
- node.js - 如何将嵌套的数字数组作为命令行参数传递给 Node.js 程序并获取数组?
- python - Pandas Weird 组件日期时间本地化并应用
- function - React Native - 从返回中获取数据
- core-data - 在 EditView 中使用 CoreData 中的值预填充 SwiftUI 表单
- usb - 使用没有中断端点的 CDC-ACM?
- ruby-on-rails - PrzychodyController#create 中的 NoMethodError
- prometheus - 在普罗米修斯中,我添加了 ec2 实例详细信息,但它正在显示
- angular - JSDom 业力角度设置