2

编辑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' 在内的所有属性。

非常感谢提前!

4

1 回答 1

8

幸运的是,我找到了一种方法 ,我希望它可以使许多正在寻找相同答案的人受益。

首先,您需要在 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;
于 2018-03-06T15:26:36.937 回答