[英]Reading pretty print json files in Apache Spark
我的S3存儲桶中有很多json文件,我希望能夠讀取它們並查詢這些文件。 問題是它們印刷得很漂亮。 一個json文件只有一個龐大的字典,但它不在一行中。 根據這個線程,json文件中的字典應該在一行中,這是Apache Spark的限制。 我沒有這樣的結構。
我的JSON架構看起來像這樣 -
{
"dataset": [
{
"key1": [
{
"range": "range1",
"value": 0.0
},
{
"range": "range2",
"value": 0.23
}
]
}, {..}, {..}
],
"last_refreshed_time": "2016/09/08 15:05:31"
}
這是我的問題 -
我可以避免轉換這些文件以匹配Apache Spark所需的架構(文件中每行一個字典)並仍能讀取它嗎?
如果沒有,在Python中最好的方法是什么? 我每天都有一堆這些文件。 存儲桶按日分區。
有沒有其他工具更適合查詢Apache Spark以外的這些文件? 我在AWS堆棧上,所以可以嘗試使用Zeppelin筆記本的任何其他建議工具。
你可以使用sc.wholeTextFiles()
這是一篇相關的帖子 。
或者,您可以使用簡單的函數重新格式化json並加載生成的文件。
def reformat_json(input_path, output_path):
with open(input_path, 'r') as handle:
jarr = json.load(handle)
f = open(output_path, 'w')
for entry in jarr:
f.write(json.dumps(entry)+"\n")
f.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.