如何解决以JSON格式写出时,数据集内的Java对象在Spark流中以{}输出,如何获得实际值?
public class Example{
private String key;
private Object value;
getters and setters here...
}
键存储对象的类型,以字符串或字符串形式存储。值存储对象的实际值。
我有一个包含Example的数据集/数据框,当我以df.writeStream.format("json").output.option("path","mypath").start().awaitTermination()
的方式在json中输出时,JSON会以两种方式出现。
- 对象为null,因此Spark不输出它。
{key:"string"}
或{key:"long"}
- 对象不为null,因此Spark确实将其输出,而仅作为{}。
{key:"string",value:{}}
或{key:"long",value:{}}
我需要JSON输出包含实际值,但是由于我将其声明为对象,因此我猜spark无法很好地解释它。我需要它像这样输出:{key:"string",value:"abc"}
或{key:"long",value:12345}
任何帮助或见识将不胜感激。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。