无法将数据写入实木复合地板文件

时间:2020-07-07 16:12:56

标签: java apache-spark parquet

我想将以下类中的一组数据写入到镶木地板文件中:

public class ClassA {
    Identifier identifier;
    Map<String, Object> info;
}

请记住,“标识符”实际上是一个接口。 我们有2个实现Identifier接口的类,即:

public class IdentifierA {
    Integer id;
}

public class IdentifierB {
    List<Long> ids;
}

注意:ClassA,IdentifierA和IdentifierB都有getter,setter和构造函数,为简单起见,我将它们省略了。

无论我使用什么标识符类,我都可以实例化数据集,而且还可以将数据写入文本文件。当我尝试将数据写入实木复合地板文件时出现以下错误,该问题就会出现:

Exception in thread "main" org.apache.spark.sql.AnalysisException: 
Datasource does not support writing empty or nested empty schemas.
Please make sure the data schema has at least one or more column(s).

我还验证了数据的列和架构。他们在这里:

架构

StructType(StructField(identifier,StructType(),true),StructField(info,MapType(StringType,StructType(),true),true))

[标识符,信息]

我猜测错误的出现是由于我在ClassA中使用接口,还是因为Object类型用作ClassA中map参数的值。

你们对我如何解决此问题有任何想法吗?

0 个答案:

没有答案