今天用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 * def t1():
"""
spark和sc变量放在utils文件里面
:return:
"""
data = ('data', json.dumps({'key': 'impl', 'version': '1.0'}))
df = sc.parallelize([data], 1).toDF(['key', 'value'])
df.write.mode('overwrite').option('sep', '\t').option('escapeQuotes', False).csv(file_save) if __name__ == '__main__':
t1()
#
spark.stop()

Spark保存的时候怎么去掉多余的引号转义的更多相关文章

  1. Sublime Text保存文件时自动去掉行末空格

    修改一个Sublime Text的用户配置,其中这个配置就是"保存文件时自动去掉每行结束后多余的空格",具体操作如下: 在Sublime Text菜单栏中找到preferences ...

  2. 【代码笔记】iOS-浮点数处理并去掉多余的0

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...

  3. Spark 保存文件 自定义分隔符

    Spark 保存文件 调整分隔符 废话 找了半天没找到,在某个地方看到了类似的(文中说的是读取的时候指定),试了一下保存,发现也好用,详细如下. 用法 df.write.option("de ...

  4. Birt设置导出格式和去掉多余按钮的方法

    1.设置导出格式: webcontent>birt>pages>dialog>ExportReportDialogFragment.jsp页面: 找到for ( int i = ...

  5. NewtonJson中转义的斜杠\和多余的引号处理

    使用newtonjson序列化的json串正常的,但通过网络传输后,会再包装一层引号和对原有定义引号的转义,最后结果就变成这种数据: “\"{\\\"State\":fa ...

  6. DataGridView 去掉多余的列

    去掉DataGridView多余的列: this.DataGridView.AutoGenerateColumns = false;

  7. c 语言练习__去掉多余的空白字符_修正

    #include <stdio.h> #include <string.h> #include <errno.h> #define BUF_SIZE 128 /* ...

  8. 【原创】大叔问题定位分享(12)Spark保存文本类型文件(text、csv、json等)到hdfs时为什么是压缩格式的

    问题重现 rdd.repartition(1).write.csv(outPath) 写文件之后发现文件是压缩过的 write时首先会获取hadoopConf,然后从中获取是否压缩以及压缩格式 org ...

  9. magento的url中 去掉多余的目录层级

    有时我们需要仅仅显示一层目录的URL路径.而不要出现多个路径的现实,我们可以用以下方法修改: Edit  /app/code/core/Mage/Catalog/Model/Url.php 找到632 ...

随机推荐

  1. 微信号可以改了?我用 Python 发现了隐藏的 6 大秘密.

    “听说,微信可以改微信号了! ” 不知道谁扯了一嗓子,让办公室变成了欢乐的海洋 张姐流下了激动的泪水:“太好了!姐的年龄终于不用暴露在微信号了!” 很多人学习python,不知道从何学起.很多人学习p ...

  2. Spring JdbcTemplate中关于RowMapper的使用实例

    在spring boot 集成使用jdbctemplate,首先在pom文件中引入相应的依赖 <dependency> <groupId>org.springframework ...

  3. CentOS7 安装 Nexus

    CentOS7 安装 Nexus 所需软件包 jdk-8u231-linux-x64.tar.gz nexus-3.24.0-02-unix.tar.gz 创建安装目录 mkdir -p /opt/n ...

  4. windows系统下python setup.py install ---出现cl问题,cpp_extension.py:237: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte

    将cpp_extension.py文件中的 原始的是   compiler_info.decode() try: if sys.platform.startswith('linux'): minimu ...

  5. 最受欢迎的 15 大 Python 库(2017)

    核心库 1. NumPy (提交数: 15980, 贡献者数: 522) 当开始处理Python中的科学任务,Python的SciPy Stack肯定可以提供帮助,它是专门为Python中科学计算而设 ...

  6. leetcode 877. Stone Game 详解 -——动态规划

    原博客地址 https://blog.csdn.net/androidchanhao/article/details/81271077 题目链接 https://leetcode.com/proble ...

  7. X86汇编——计算斐波那契数列程序(详细注释和流程图说明)

    X86汇编实现斐波那契数列 程序说明: 输入斐波那契数列的项数, 然后依次输出斐波那契数列, 输入的项数小于256且为数字, 计算的项数不能超过2^16次方, 输入失败是 不会回显数字 因为存结果是A ...

  8. NodeJs+Express+SqlServer简易后台API服务搭建

    首先安装nodejs 第一步 创建node项目配置package.json如下 express 使用方法可参考http://www.runoob.com/nodejs/nodejs-express-f ...

  9. day6 函数

    1.关键字参数     给实参对应的形参   调用函数时 设置关键字参数,形参=实参,把实参固定给那个形参 2.元组的可变(不定长参数)的使用      可变参数可以接收任意数量的普通的形参,并且组包 ...

  10. Datawhale学数据分析第一章

    需要用到的基础知识pandas基础知识参考1,2章https://github.com/datawhalechina/joyful-pandas 1.导入数据tsv 制表符作为分隔符的字段符csv 逗 ...