Как создать файл json в файловой системе hadoop, используя python - PullRequest
0 голосов
/ 28 мая 2018
 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.

Что не так в этом подходе?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018
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 голосов
/ 28 мая 2018

Попробуйте использовать следующее:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...