[英]Apache Spark to_json options parameter
我或者不知道我在寻找什么,或者缺少文档。 鉴于这种情况,后者似乎是这样:
“ options-用于控制如何将struct列转换为json字符串的选项。接受相同的选项和json数据源。”
大! 那么,我有什么选择呢?
我正在做这样的事情:
Dataset<Row> formattedReader = reader
.withColumn("id", lit(id))
.withColumn("timestamp", lit(timestamp))
.withColumn("data", to_json(struct("record_count")));
...我得到这个结果:
{
"id": "ABC123",
"timestamp": "2018-11-16 20:40:26.108",
"data": "{\"record_count\": 989}"
}
我想要这样(从“数据”中删除反斜杠和引号):
{
"id": "ABC123",
"timestamp": "2018-11-16 20:40:26.108",
"data": {"record_count": 989}
}
这是偶然的选择之一吗? 是否有更好的Spark指南? 关于Spark的最令人沮丧的部分不是让它做我想要的事情,而是缺少关于它可以做什么的良好信息。
您对record_count字段进行了两次json编码。 删除to_json。 仅使用struct就足够了。
如将您的代码更改为这样。
Dataset<Row> formattedReader = reader
.withColumn("id", lit(id))
.withColumn("timestamp", lit(timestamp))
.withColumn("data", struct("record_count"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.