Hive 排除 SELECT 中某列

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive 排除 SELECT 中某列相关的知识,希望对你有一定的参考价值。

1. 简介

在 Hive 表中可能存在很多列,也有可能就存在几列。如果我们想要表中所有列,毫无疑问我们可以使用 SELECT *。但在某些情况下,我们可能拥有 100 多列,并且我们只不需要其中几列。在这种情况下,之前都是手动的添加 SELECT 查询中的所有列名。由于列数很多,比较啰嗦。因此,我们希望能在 Hive 中从 SELECT 查询中排除某些列。

2. 方案

我们可以使用正则表达式来排除某些列。如果要使用正则表达式,需要将属性 hive.support.quoted.identifiers 设置为 none

下面是我们的样本数据。此表中一共有100多列,如下图所示(只展示了8列):


如果我们不想要 event_ts 这一列。我们会使用如下查询来排除这一列:

SELECT `(event_ts)?+.+`

以上是关于Hive 排除 SELECT 中某列的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer判断表中某列是否包含中文,英文,纯数字

SqlServer查询表中某列相同值的最近记录

hive学习04-员工部门表综合案例

表中某列的所有值转成List泛型集合

Sql_Server中怎样推断表中某列是否存在

从 hive 表中查询数据时,哪种状态最好排除 NULL 和空格