如何将 avro 文件读取为 Java Spark 中的对象列表
How do I read avro file as a list of objects in Java Spark
我有一个 avro 文件,我想在将其转换为代表对象后对其进行读取和操作
我尝试在 Java Spark 中使用 RDD 和 DataSet 加载它,但在这两种情况下我都无法转换为所需的对象
作为数据集
Dataset<MyClass> input = sparkSession.read().format("com.databricks.spark.avro").load(inputPath)
.as(Encoders.bean(MyClass.class));
失败并出现错误 "Cannot have circular references in bean class, but got the circular reference of class class org.apache.avro.Schema"
作为 RDD
JavaRDD<String> input = sparkContext.textFile(inputPath);
如何将此 RDD 对象转换为 RDD 对象或 Dataset 对象?
我对此很陌生,所以如果我遗漏了一些基本的东西但无法找到有效的解决方案,请原谅我。
中的 SparkAvroLoader 解决
我有一个 avro 文件,我想在将其转换为代表对象后对其进行读取和操作
我尝试在 Java Spark 中使用 RDD 和 DataSet 加载它,但在这两种情况下我都无法转换为所需的对象
作为数据集
Dataset<MyClass> input = sparkSession.read().format("com.databricks.spark.avro").load(inputPath)
.as(Encoders.bean(MyClass.class));
失败并出现错误 "Cannot have circular references in bean class, but got the circular reference of class class org.apache.avro.Schema"
作为 RDD
JavaRDD<String> input = sparkContext.textFile(inputPath);
如何将此 RDD 对象转换为 RDD 对象或 Dataset 对象?
我对此很陌生,所以如果我遗漏了一些基本的东西但无法找到有效的解决方案,请原谅我。