我有一个带有列结构的配置单元表。我需要运行一个查询来将该列的一些行收集到数组中。
最终结果应该是 struct<....> 的数组
我试过“collect_set”,但它给了我一个错误,它不能用于复杂类型。我需要某种“group_concat”,就像在 mySSQL 中一样。
你有什么想法,我怎么能做到这一点(最好不使用任何udf/udaf)?
谢谢。
更新:我有一个使用 UDAF 的临时解决方案。但我想知道是否可以使用内置函数。
这行得通吗?
SELECT collect_set(column_containing_struct.struct_field_name) FROM your_table;
-- Or some variant of this
这假设了一些事情:
如果您不尝试进行重复数据删除,并且您想要那里出现的所有内容,请collect_list
改用。