java通过使用配置单元查询可以将表数据转换为复杂类型列表<structure>?
这是表格的详细信息
Id Data
a {"col1":"11.0","col2":30.0}
a {"col1":"12.0","col2":10.0}
b {"col1":"11.0","col2":20.0}
b {"col1":"12.0","col2":25.0}
b {"col1":"15.0","col2":25.0}
c {"col1":"12.0","col2":15.0}
c {"col1":"13.0","col2":16.0}
预期输出-按Id分组的数据结构列表
ID Data
a list[ {"col1":"11.0","col2":30.0},{"col1":"12.0","col2":10.0}]
b list[ {"col1":"11.0","col2":20.0},{"col1":"12.0","col2":25.0},{"col1":"15.0","col2":25.0}]
c list[ {"col1":"12.0","col2":15.0},{"col1":"13.0","col2":16.0}]
是否可能由配置单元支持的函数实现,或者是否需要编写任何用户定义的函数
# 1 楼答案
简而言之,答案是肯定的,之前也有关于这个问题的答案,请参见此处
How to get array/bag of elements from Hive group by operator?
但总而言之,如果您只有唯一的元素,则使用collect\u set,否则使用collect\u list(仅适用于配置单元0.13+),此外,它是一个标准的分组查询