簡體   English   中英

如何使用python在hadoop文件系統中創建json文件

[英]How to create json file in hadoop file system using python

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

這種方法有什么問題?

嘗試使用以下方法:

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

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)

您將需要包含轉義字符

在 shell 終端中回顯 "{"a":"b"}"

輸出:{a:b}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM