我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL Hive中的Select Fromsql怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL Hive中的Select Fromsql怎么使用

这篇“SQL Hive中的Select Fromsql怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SQL Hive中的Select Fromsql怎么使用”文章吧。

Select Fromsql里面最基本的查询语句,select*from后面加表名,这样查询出来是这个表里面的所以数据,后面还可以加where条件挑选,也能够加Orderby排序,也能够加groupby分组。

SQL Hive中的Select Fromsql怎么使用

01-查询表中的内容

查询指定的某一列或某几列,命令如下:

SELECT 列名1,列名2,…… FROM 表名;

查询表中的所有字段时,可以使用代表所有字段。星号()是选取所有列的快捷方式。命令如下:

SELECT * FROM 表名;

如果我们想查询表 t_od_use_cnt 中的所有的user_id和use_cnt,具体命令如下:

SELECT user_id     ,use_cntFROM app.t_od_use_cnt;

备注:app是数据库名,如果当前查询表与当前使用数据库一致,可以省略不写

02-Hive严格模式

在Hive中这样写虽然语法正确(不加分区),但在实际工作中这样写很可能会报错。

因为Hive中的表一般数据量极大,为了防止用户误操作进行全表扫描,可以设置为查询分区表时必须加入分区限制。比如这里我们的分区字段是date_8这个日期字段,工作中的表会要求我们必须限定查询哪几天的分区数据。这里我们可以输入设置参数进行模拟,命令如下:

hive (app)> set hive.mapred.mode;hive.mapred.mode=nonstricthive (app)> set hive.mapred.mode=strict;hive (app)> set hive.mapred.mode;hive.mapred.mode=strict

然后我们重新执行上面的查询语句,报错如下:

hive (app)> SELECT user_id         >       ,use_cnt         > FROM app.t_od_use_cnt;FAILED: SemanticException [Error 10041]: No partition predicate found for Alias "t_od_use_cnt" Table "t_od_use_cnt"hive (app)>

如下使用where语句限定分区即可解决这个问题:

SELECT user_id     ,use_cntFROM app.t_od_use_cntWHERE date_8 = '20210420';

03-limit限制查询返回行数

上面的查询语句会返回查询到的所有数据,但有时候我们只是要确认一下表中的数据内容,或者要指定行数据,比如只要100行,这时只需要在查询语句后加上(limit 数字)即可。

查询表t_od_use_cnt中前5行数据,命令如下:

SELECT user_id     ,use_cntFROM app.t_od_use_cntWHERE date_8 = 20190101 Limit 5;

运行结果如下:

hive (app)> SELECT user_id         >       ,use_cnt         > FROM app.t_od_use_cnt         > WHERE date_8 = 20210420 Limit 5;OKuser_id  use_cnt10000  610001  4910002  2310003  110004  29Time taken: 0.829 seconds, Fetched: 5 row(s)hive (app)>

04-列四则运算

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

下面我们将表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;OKuser_id  use_cnt  is_active  _c310000  6  1  610001  49  1  4910002  23  1  2310003  1  0  010004  29  1  29Time taken: 0.124 seconds, Fetched: 5 row(s)hive (app)>

05-列别名

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

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

不能和已有字段重复

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

以字母开头

单词之间用下划线_分割

这里我们将别名起为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;OKuser_id  use_cnt  is_active  active_use_cnt10000  6  1  610001  49  1  4910002  23  1  2310003  1  0  010004  29  1  29Time taken: 0.239 seconds, Fetched: 5 row(s)hive (app)>

以上就是关于“SQL Hive中的Select Fromsql怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL Hive中的Select Fromsql怎么使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SQL Hive中的Select Fromsql怎么使用

这篇“SQL Hive中的Select Fromsql怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SQL Hive
2023-06-28

SQL中concat、concat_ws()、group_concat()的使用与区别

目录一、concat()函数二、concat_ws()函数三、group_concat()函数一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,...)返回结果为连接参数产生
2023-05-16

怎么在mysql中使用left()和right()截取字符串

这篇文章将为大家详细讲解有关怎么在mysql中使用left()和right()截取字符串,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、left():从字符串左边开始截取1、使用格式lef
2023-06-14

Hive中怎么使用UDF和UDAF扩展Hive功能

在Hive中,用户可以使用UDF(User Defined Function)和UDAF(User Defined Aggregation Function)来扩展Hive的功能。UDF用于对单个数据行进行操作,而UDAF用于对多个数据行进
Hive中怎么使用UDF和UDAF扩展Hive功能
2024-03-14

hive中decode函数怎么使用

在Hive中,`decode`函数用于根据给定的条件和对应的值,将一个列的值转换为另一个值。`decode`函数的语法如下:```DECODE(col, condition1, value1, condition2, value2, ...
2023-08-11

hive的sum函数怎么使用

在Hive中,可以使用SUM函数对某一列中的值进行求和操作。具体使用方式如下:SELECT SUM(column_name) FROM table_name;其中,column_name是要进行求和操作的列名,table_name是包含该
hive的sum函数怎么使用
2024-03-05

hive的collect_set函数怎么使用

Hive中的collect_set函数用于返回指定列的唯一值集合。其语法如下:SELECT collect_set(column_name)FROM table_nameWHERE conditions;其中,column_name是
hive的collect_set函数怎么使用
2024-04-08

Hive中怎么定义和使用表分区

在Hive中,表分区是按照表的某个列的值进行分割和存储数据的方式,可以提高查询效率和管理数据。以下是在Hive中定义和使用表分区的步骤:定义表分区:在创建表的时候,使用PARTITIONED BY语句指定分区列。例如:CREATE TABL
Hive中怎么定义和使用表分区
2024-04-03

sql中的limit怎么使用

在SQL中,可以使用LIMIT关键字来限制查询结果的返回行数。LIMIT关键字必须跟在SELECT语句的最后,用于指定要返回的记录数量。其基本语法如下:SELECT column1, column2, ...FROM table_nam
sql中的limit怎么使用
2024-05-21

SQL Server中的DATEADD怎么使用

这篇文章主要讲解了“SQL Server中的DATEADD怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL Server中的DATEADD怎么使用”吧!句法与类似的功能一样,
2023-06-05

sql中的select distinct怎么使用

在SQL中,SELECT DISTINCT用于返回唯一不重复的值。通过在SELECT语句中添加DISTINCT关键字,可以筛选出唯一的值。例如,查询一个表中的不重复的城市名称:SELECT DISTINCT cityFROM cust
sql中的select distinct怎么使用
2024-04-16

SQL中的LOCK、UNLOCK怎么使用

本篇内容主要讲解“SQL中的LOCK、UNLOCK怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL中的LOCK、UNLOCK怎么使用”吧!MySQL 表锁定锁是与表关联的标志。MyS
2023-06-30

sql中的union怎么使用

在SQL中,UNION是一种用于合并两个或多个SELECT语句结果集的操作符。使用UNION时,要求两个SELECT语句的列数和数据类型必须匹配。UNION的基本语法如下:```SELECT 列名 FROM 表1UNIONSELECT 列名
2023-09-12

sql中identity_insert怎么使用

在SQL中,IDENTITY_INSERT用于允许将值插入一个带有标识列的表。标识列是指自动增长的列,通常用于为表中的每一行生成唯一的标识符。要使用IDENTITY_INSERT,你需要执行以下步骤:1. 首先,确保你是表的所有者或具有足够
2023-08-30

sql中exists怎么使用

在SQL中,EXISTS是一个用于检查子查询结果是否存在的操作符。它返回一个布尔值,表示是否存在。以下是EXISTS的使用方法:1. 使用EXISTS条件:```sqlSELECT column1, column2, ...FROM tab
2023-08-08

SQL中declare怎么使用

在SQL中,DECLARE关键字用于声明一个变量。可以使用DECLARE来声明标量变量、表变量和游标变量。1. 声明标量变量:```DECLARE @variable_name data_type;```2. 声明表变量:```DECLAR
2023-08-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录