2017-02-22 66 views
1

我想查詢使用Amazon雅典娜格式的JSON數據:使用Amazon Athena創建表並查詢json數據?

[{"id":"0581b7c92be", 
    "key":"0581b7c92be", 
    "value":{"rev":"1-ceeeecaa040"}, 
    "doc":{"_id":"0581b7c92be497d19e5ab51e577ada12","_rev":"1ceeeecaa04","node":"belt","DeviceId":"C001"}}, 
{"id":"0581b7c92be49", 
    "key":"0581b7c92be497d19e5", 
    "value":{"rev":"1-ceeeecaa04031842d3ca"}, 
    "doc":{"_id":"0581b7c92be497","_rev":"1ceeeecaa040318","node":"belt","DeviceId":"C001"} 
} 
] 

回答

4

雅典娜DDL是基於蜂巢,所以你也會想你的陣列中的每個JSON對象是在一個單獨的行:

{"id": "0581b7c92be", "key": "0581b7c92be", "value": {"rev": "1-ceeeecaa040"}, "doc": {"_id": "0581b7c92be497d19e5ab51e577ada12", "_rev": "1ceeeecaa04", "node": "belt", "DeviceId": "C001"} } 
{"id": "0581b7c92be49", "key": "0581b7c92be497d19e5", "value": {"rev": "1-ceeeecaa04031842d3ca"}, "doc": {"_id": "0581b7c92be497", "_rev": "1ceeeecaa040318", "node": "belt", "DeviceId": "C001"} } 

你可能會遇到嵌套字段(「value」,「doc」)的問題,所以如果你能壓平jsons,你會更容易。 (見例如:Hive for complex nested Json

+0

我想如何創建表和選擇操作來查詢多行數據。 – rajeswari

+0

我要如何創建表並選擇運行查詢data.ex的多行:[{ \t 「_id」: 「0899f824e118d390f57bc2f279bd38fe」, \t 「_rev」: 「1-81cc25723e02f50cb6fef7ce0b0f4f38」, \t 「的DeviceID」:「 BELT001" , \t 「locationId」: 「LID001」, \t 「SuperviceId」: 「SID001」 },{ \t 「_id」: 「0899f824e118d390f57bc2f279bd38fe」, \t 「_rev」: 「1-81cc25723e02f50cb6fef7ce0b0f4f38」, \t 「deviceId」:「BELT001」, \t「locationId」:「LID001」, \t「SuperviceId」:「SID001」 }] – rajeswari

+0

我在說的是,在我可以幫助你之前,請檢查你是否可以將你的json數組「爆炸」成單獨的json對象的行。將您的示例轉換爲: – belostoky

相關問題