通过使用 hive 或 spark SQL 将一列作为参考来生成新列
Posted
技术标签:
【中文标题】通过使用 hive 或 spark SQL 将一列作为参考来生成新列【英文标题】:Generate new column by taking one column as a reference using hive or spark SQL 【发布时间】:2021-08-16 13:15:43 【问题描述】:假设我们有一个如下所示的表格:
Band |name |age
---------------------------
1 abc 18
1 xyz 20
2 aaa 18
2 bbb 19
3 ccc 22
4 ddd 28
预期输出:
Band |name |age |new_col
------------------------------
1 abc 18 [aaa, bbb, ccc, ddd]
1 xyz 20 [aaa, bbb, ccc, ddd]
2 aaa 18 [ccc, ddd]
2 bbb 19 [ccc, ddd]
3 ccc 22 [ddd]
4 ddd 28 [null]
这里根据波段,我们需要得到new_col。 谢谢你
【问题讨论】:
【参考方案1】:试试这个
select band, name, age,
collect_set(name) over(order by band range between 1 following and unbounded following) new_col
from table_name
【讨论】:
以上是关于通过使用 hive 或 spark SQL 将一列作为参考来生成新列的主要内容,如果未能解决你的问题,请参考以下文章
如何通过SQL将一列JCheckBox添加到JTable? [重复]
通过 squirrel sql 连接到 hive/spark sql 时读取超时