SQL-Hive中Select From怎么用

技术SQL-Hive中Select From怎么用这篇文章主要介绍了SQL-Hive中Select From怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解

本文主要介绍如何在SQL-Hive中使用Select From,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去了解它。

00-1010查询指定的一列或多列,命令如下:

SELECT列名1,列名2,helliphellipFROM表名;查询表中的所有字段时,可以使用*表示所有字段。星号(*)是选择所有行的快捷方式。顺序如下:

选择*从表名;如果我们想查询表t_od_use_cnt中所有的user_id和use_cnt,具体命令如下:

选择user_id,使用_ cntFROMapp.t _ od _ use _ cnt注意:app是数据库名称。如果当前查询表与当前使用的数据库一致,可以省略。

在Hive中这样写的00-1010在语法上是正确的(没有分区),但是在实际工作中很可能会给出一个错误。

由于Hive中表内数据量巨大,为了防止用户误扫描整个表,可以设置查询分区表时必须增加分区限制。例如,在这里,我们的分区字段是date_8的日期字段,工作中的表将要求我们限制必须查询的分区数据的天数。这里我们可以输入设置参数进行模拟,命令如下:

hive(app)sethive . mapred . mode;hive . mapred . mode=nonstrict ive(app)sethive . mapred . mode=strict;hive(app)sethive . mapred . mode;Hive.mapred.mode=strict然后我们重新执行上面的查询语句,出现以下错误:

hive(app)SELECTuser_id,use _ cntFROMapp.t _ od _ use _ cntFailed:语义异常[错误10041] 3360没有为别名“t _ OD _ use _ CNT”表“t _ OD _ use _ CNT”配置单元(app)预测的分区这个问题可以通过使用where语句解决,如下所示:

选择user_id,使用_ cntfrom app . t _ od _ use _ CNT where date _ 8=' 20210420 ';00-1010以上的查询语句会返回所有被查询的数据,但有时我们只需要确认表中的数据内容,或者指定行数据,比如只有100行,那么我们只需要在查询语句后添加(限制数量)。

查询表t_od_use_cnt中的前五行数据。命令如下:

选择user_id,使用_ cntfrom app . t _ od _ use _ CNT where date _ 8=20190101 limit 5;操作结果如下:

配置单元(应用程序)选择用户标识,使用

se_cnt           > WHERE date_8 = 20210420 Limit 5; OK user_id  use_cnt 10000  6 10001  49 10002  23 10003  1 10004  29 Time taken: 0.829 seconds, Fetched: 5 row(s) hive (app)>

04-列四则运算

在查询时可以对数值类型的字段进行加减乘除和取余等四则运算

SQL-Hive中Select From怎么用

下面我们将表t_od_use_cnt中use_cnt列和is_active列相乘得到一个新列,其他用法依次类推。

hive (app)> SELECT user_id           >       ,use_cnt           >       ,is_active           >       ,use_cnt * is_active           > FROM app.t_od_use_cnt           > WHERE date_8 = 20210420 Limit 5; OK user_id  use_cnt  is_active  _c3 10000  6  1  6 10001  49  1  49 10002  23  1  23 10003  1  0  0 10004  29  1  29 Time taken: 0.124 seconds, Fetched: 5 row(s) hive (app)>

05-列别名

可以看到上面的例子中我们通过两个列相乘人为制造出一个新列,系统默认将其列名起为_c3。通常有必要给这些新产生的列起一个别名。已有列的列名如果含义不清晰也可以通过起别名的方式进行更改。不过别名只在本条SQL语句中生效,不影响原表中的字段名。

这里顺便介绍一下字段命名规则:

1.不能和已有字段重复

2.只能包括小写字母(a-z)、数字(0-9)、下划线(_)

3.以字母开头

4.单词之间用下划线_分割

这里我们将别名起为active_use_cnt,在列后面加 AS active_use_cnt即可。另AS可以省略,只用空格分隔别名也可以生效

hive (app)> SELECT user_id           >       ,use_cnt           >       ,is_active           >       ,use_cnt * is_active AS active_use_cnt           > FROM app.t_od_use_cnt           > WHERE date_8 = 20210420 Limit 5; OK user_id  use_cnt  is_active  active_use_cnt 10000  6  1  6 10001  49  1  49 10002  23  1  23 10003  1  0  0 10004  29  1  29 Time taken: 0.239 seconds, Fetched: 5 row(s) hive (app)>

感谢你能够认真阅读完这篇文章,希望小编分享的“SQL-Hive中Select From怎么用”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/142068.html

(0)

相关推荐

  • jquery相比js有哪些优势

    技术jquery相比js有哪些优势这篇文章主要讲解了“jquery相比js有哪些优势”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery相比js有哪些优势”吧!

    攻略 2021年11月16日
  • 如何将Ethereum -web3.js引入weex

    技术怎么在weex 中的引入Ethereum -web3.js怎么在weex 中的引入Ethereum -web3.js ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以

    攻略 2021年12月14日
  • 分数化小数,小学生数学分数和小数互化的方法

    技术分数化小数,小学生数学分数和小数互化的方法1. 小数化成分数分数化小数:原来有几位小数,就在1的后面写几个零作分母,把原来的小数去掉小数点作分子,能约分的要约分。 2. 分数化成小数:用分母去除分子。能除尽的就化

    生活 2021年10月28日
  • vx works获取时间(vxworks中的任务是干嘛的)

    技术vxworks中Event是什么小编给大家分享一下vxworks中Event是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Event

    攻略 2021年12月22日
  • JAVA怎么读取文本文件内容

    技术JAVA怎么读取文本文件内容本篇内容介绍了“JAVA怎么读取文本文件内容”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年11月19日
  • 免费香港云服务器怎么样

    技术免费香港云服务器怎么样一些在线搜索可能会显示免费香港云,在某些情况下,选择免费的网站部署方案可能是有意义的——例如,如果您只是为了好玩而开始一个网站,并且不太关心将其构建成持久或有利可图的东西。但是对于正常运营网站的

    礼包 2021年10月19日