前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive中排除SELECT查询列

Hive中排除SELECT查询列

作者头像
smartsi
发布2019-11-27 16:11:57
5.4K0
发布2019-11-27 16:11:57
举报
文章被收录于专栏:SmartSi

1. 简介

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

2. 方案

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

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

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

代码语言:javascript
复制
SELECT `(event_ts)?+.+` FROM <table>;

上面语句等价于:

代码语言:javascript
复制
SELECT user_id, event_tm, os, os_version, app_version, ..., prov, city
FROM <table>;

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

代码语言:javascript
复制
SELECT `(event_ts|event_tm)?+.+` FROM <table>;

如果我们要排除多列,使用 | 分割。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简介
  • 2. 方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档