首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在hadoop文件系统中使用python创建json文件

如何在hadoop文件系统中使用python创建json文件
EN

Stack Overflow用户
提问于 2018-05-28 15:03:36
回答 3查看 924关注 0票数 0
代码语言:javascript
运行
复制
 os.system('echo "%s" | hadoop fs -put -f - /app/hdp/logs/json/a.json' %(json_string))

json_string=json.dumps({"a":"b"})

该文件是在HDFS中创建的,但使用了错误的json格式。它存储的格式是不带双引号的{a:b},这不是一个正确的json格式。

这种方法有什么问题?

EN

回答 3

Stack Overflow用户

发布于 2018-05-28 17:20:09

尝试使用以下命令:

代码语言:javascript
运行
复制
import subprocess, json

json_string=json.dumps({"a":"b"})

proc = subprocess.Popen('echo "{0}" | hadoop fs -put -f - /app/hdp/logs/json/a.json'.format(json_string), shell=True)

该字符串的格式应为"{"a":"b"}"

票数 0
EN

Stack Overflow用户

发布于 2018-05-28 22:42:22

代码语言:javascript
运行
复制
import subprocess, json
json_string=json.dumps({"a":"b"})
#json_string=json_string.replace('"','\"') try escaping quotes too
proc = subprocess.run('echo {0} | hadoop fs -put -f - /app/hdp/logs/json/a.json'.format(json_string), shell=True)
票数 0
EN

Stack Overflow用户

发布于 2020-01-08 20:01:34

您需要包含转义字符

shell终端中的echo "{"a":"b"}“

输出:{a:b}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50560821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档