查找数组结构的第一个和最后一个

sid*_*ain 4 sql arrays struct hive hiveql

文件中有一个数组结构,如下所示

[{"A":"1","B":"2","C":"3"},{"A":"4","B":"5","C":"6"},{"A":"7","B":"8","C":"9"}]
Run Code Online (Sandbox Code Playgroud)

如何获取列的第一个和最后一个值"A" ("1","7")

需要用Hive SQL来写。

提前致谢。

lef*_*oin 5

数组的第一个元素是array_name[0],最后一个元素是array_name[size(array_name)-1]

演示:

 select example_data[0].A, example_data[size(example_data)-1].A
   from
   ( --Your example data
   select array(named_struct("A","1","B","2","C","3"),named_struct("A","4","B","5","C","6"),named_struct("A","7","B","8","C","9")) as example_data
   )s;
OK
1       7
Time taken: 2.72 seconds, Fetched: 1 row(s)
Run Code Online (Sandbox Code Playgroud)