2015-10-27 36 views
2

我有一個這樣的對象在鑽:如何查詢數組?

{MyFruit: [{name:Mike, age:10},{name:Jacob,age:9},{name:William, age:6}]} 

我可以做讓「邁克」:

Select MyFruit[0].name 

有我得到的每一個「名稱」列表中選擇一個方式?我試過以下,它不喜歡它:

Select MyFruit[*].name 

回答

3

鑑於這種fruits.json文件:

{"MyFruit": [{"name":"Mike", "age":10},{"name":"Jacob","age":9},{"name":"William", "age":6}]} 

鑽取語句是:

select t.flatdata.name from (select flatten(MyFruit) as flatdata from dfs.`/Users/path/fruits.json`) t; 
+----------+ 
| EXPR$0 | 
+----------+ 
| Mike  | 
| Jacob | 
| William | 
+----------+ 
3 rows selected (0.14 seconds) 

您需要使用子查詢這可以解決複雜的嵌套和表格別名t和flatdata,可以解決歧義問題。