今天用SparkSQL保存一份json数据的时候,引号被转义了,并用括号包起来了,导致下游新来的小伙伴无法处理这份数据。
保存后的数据长这样(用分割):
data "{"key": "impl", "version": "1.0"}"
于是乎一番查找Spark文档,尝试添加这个选项之后,option('escapeQuotes', False),关闭引号转义,如此引号就不会被转义,结果如下:
data {"key": "impl", "version": "1.0"}
同样尝试了用RDD去保存,也不会出现双引号被转义的问题,只是用SparkSQL或者DataFrame的时候才会出现被双引号被转义的情况。
PySpark代码如下,spark公共变量请大佬们自己创建:
# encoding = utf-8import jsonfrom utils import *def t1(): """ spark和sc变量放在utils文件里面 :return: ""&