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

时间:2018-05-28 07:03:36

标签: python json hdfs

 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格式。

这种方法有什么问题?

3 个答案:

答案 0 :(得分:0)

尝试使用以下内容:

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"}"

答案 1 :(得分:0)

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)

答案 2 :(得分:0)

您将需要包含转义符

在shell终端中回显“ {” a“:” b“}”

输出: {a:b}