编辑 1:注意,我知道我们中的一些人会质疑为什么不在不同的属性中列出不同部分的信息,这样我就有了一个关系数据库来查询。实际情况与我在下面列出的示例不同,这里使用变量名只是为了方便。
编辑 2:为了减少数据库设计的困惑,我更改了示例中的变量名称。
在 Hive 查询中,我正在寻找一种方法来选择具有相同前缀或相同后缀的列,或者在同一表的变量名称中间包含相同的关键字。
这是一个例子:我有一个这样的变量列表:
a_A_1, a_A_2, a_B_1, a_B_2,
b_A_1, b_A_2, b_B_1, b_B_2
练习 1 我想选择所有以“a”开头的属性。
练习 2 我想选择所有以“1”结尾的属性。
练习 3 我想选择所有属性包括“B”。
非常感谢!
最佳答案
幸运的是I found a way to do so我希望它可以使许多其他正在寻找相同答案的人受益。
首先,您需要在您的 Hive 环境中运行此设置:
set hive.support.quoted.identifiers=none;
查看下面的解决方案
练习 1
select `a.*` from test_table;
练习 2
select `.*1$` from test_table;
练习 3
select `.*B.*` from test_table;
关于regex - 如何在Hive SQL中选择具有相同前缀(开始)或后缀(结束)或中间关键字(包括)的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49133752/