json - 如何防止带有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)
解决方案
您正在将该值转换为一个字符串,其中已经包含引号和斜杠,然后您正在编写为 JSON,因此它对您的 JSON 进行了双重编码。
试着写成文字
kafkaDF.select(($"value" cast "string")).writeStream.format("text")
或者根本不投射
kafkaDF.select("value").writeStream.format("json")
如果您正在写入 HDFS 或 S3 等文件系统,那么我建议您使用 Kafka Connect,而不是编写和维护 Spark 代码。
推荐阅读
- c++ - 重新分配 CComBSTR,内存泄漏?
- python - 如果用户的 userAccountControl 为 514,如何获取用户的经理
- angular - PRIME NG 表的日期下拉过滤器
- r - 将 spplot 中的分组值与图例匹配
- r - 迭代地将函数输出添加到R中的小标题
- swift - 将 CIFilter 应用于透明图像
- vue.js -
如何在 vue js 数据中添加带有 () 的新行 - javascript - 管理元素样式的更改。有没有更简单的方法?
- java - 请有人解释一下这段代码有什么问题
- testing - 模拟服务时 SoapUI 错误的 Content-Length