Spark保存的时候怎么去掉多余的引号转义
林丹出轨对象发文委屈>造梦西游3打饕餮今天⽤SparkSQL保存⼀份json数据的时候,引号被转义了,并⽤括号包起来了,导致下游新来的⼩伙伴⽆法处理这份数据。
演员杨蕊
陕西八大怪是什么保存后的数据长这样(⽤\t分割):
data    "{\"key\": \"impl\", \"version\": \"1.0\"}"
于是乎⼀番查Spark⽂档,尝试添加这个选项之后,option('escapeQuotes', False),关闭引号转义,如此引号就不会被转义,结果如下:data    {"key": "impl", "version": "1.0"}
同样尝试了⽤RDD去保存,也不会出现双引号被转义的问题,只是⽤SparkSQL或者DataFrame的时候才会出现被双引号被转义的情况。PySpark代码如下,spark公共变量请⼤佬们⾃⼰创建:
# encoding = utf-8
杨洋的女朋友
import json
from utils import *
2012网页游戏排行榜def t1():
"""
spark和sc变量放在utils⽂件⾥⾯
:return:
"""
data = ('data', json.dumps({'key': 'impl', 'version': '1.0'}))
df = sc.parallelize([data], 1).toDF(['key', 'value'])
de('overwrite').option('sep', '\t').option('escapeQuotes', False).csv(file_save)
if__name__ == '__main__':
t1()
#
spark.stop()