开发者社区> 问答> 正文

如何防止kafka的spark sql在数据帧中向JSON字符串添加反斜杠

出于某种原因,我执行代码.wriestream.format(json).option(Path)。我有json,由于某种原因,标签都有双“”。我想删除所有“”。

val selectData = kafkaDF.select(($"value" cast "string"))
val query = selectData
.writeStream
.format("json")
.option(path)

展开
收起
社区小助手 2018-12-12 14:24:29 2987 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    您正在将值转换为字符串,其中包含引号和斜杠,然后您将编写为JSON,因此它将对您的JSON进行双重编码。

    试着写成文字

    kafkaDF.select(($"value" cast "string")).writeStream.format("text")

    或者根本不投

    kafkaDF.select("value").writeStream.format("json")

    如果你正在写一个文件系统,如HDFS或S3,那么我建议使用Kafka Connect,而不是编写和维护Spark代码。

    2019-07-17 23:20:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载