在数据集编码中将嵌套JSON维护为String

时间:2017-01-20 11:55:15

标签: java apache-spark apache-spark-dataset

我们说我有一个包含JSON文档的文件,如下所示:

{ 
    "name" : "J Smith", 
    "age" : 33, 
    "child" : {
         "name" : "K Smith", 
         "age" : 12
         }
}

如何为此创建一个编码器来维护child文档,而不必为此创建编码器?到目前为止的努力看起来像这样:

Encoder<Person> personEncoder = Encoders.bean(Person.class);
Dataset<Person> personDs = spark.read().json(EnvironmentProps.RAW_DATA_LOCATION).as(personEncoder);

Person类看起来像:

public class Person {

private String name;
private int age;
private String child; // <- what data type should this be to preserve it?

public Person(){}

public Person(String name, int age, String child){
 ...
}

这种方法很有效,但是当我把文件写出来时,子文档就会出现一长串数字,我想做的就是让它保持原样。

0 个答案:

没有答案