Hive(五)——查询
Hive(五)——查询
SELECT… FROM语句,一般情况不再赘述,以下展示复合数据结构如何取值
# 先提供几条数据与建表语句,方便随手练习 John Doe!100000.0!Mary Smith$Todd Jones!Federal Taxes,0.2$State Taxes,0.05$Insurance,0.1!1 Michigan Ave.$Chicago$IL$60600 Mary Smith!80000.0!Bill King!Federal Taxes,0.2$State Taxes,0.05$Insurance,0.1!100 Ontario St.$Chicago$IL$60601 Todd Jones!70000.0!lili!Federal Taxes,0.15$State Taxes,0.03$Insurance,0.1!200 Chicago Ave.$Oak Park$IL$60700 Bill King!60000.0!Huahua$Xixi!Federal Taxes,0.15$State Taxes,0.03$Insurance,0.1!300 Obscure Dr.$Obscuria$IL$60100CREATE TABLE employees (name STRING,salary FLOAT,subordinates ARRAY<STRING>,deductions MAP<STRING, FLOAT>,address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>) ROW FORMAT DELIMITED FIELDS TERMINATED BY '!' COLLECTION ITEMS TERMINATED BY '$' MAP KEYS TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS TEXTFILE;
接下来就是查询复合数据类型的值
# 先看下描述信息 hive (default)> desc employees; name string salary float subordinates array<string> deductions map<string,float> address struct<street:string,city:string,state:string,zip:int># 查询array类型数据 hive (default)> select subordinates from employees; ["Mary Smith","Todd Jones"] ["Bill King"] ["lili"] ["Huahua","Xixi"] hive (default)> select subordinates[0] from employees; Mary Smith Bill King lili Huahua# 查询map类型数据 hive (default)> select deductions from employees; {"Federal Taxes":0.2,"StateTaxes":0.05,"Insurance":0.1} {"Federal Taxes":0.2,"State Taxes":0.05,"Insurance":0.1} {"Federal Taxes":0.15,"State Taxes":0.03,"Insurance":0.1} {"Federal Taxes":0.15,"State Taxes":0.03,"Insurance":0.1} hive (default)> select deductions['State Taxes'] from employees; 0.05 0.05 0.03 0.03# 查询struct类型数据 hive (default)> select address from employees; {"street":"1 Michigan Ave.","city":"Chicago","state":"IL","zip":60600} {"street":"100 Ontario St.","city":"Chicago","state":"IL","zip":60601} {"street":"200 Chicago Ave.","city":"Oak Park","state":"IL","zip":60700} {"street":"300 Obscure Dr.","city":"Obscuria","state":"IL","zip":60100} hive (default)> select address.city from employees; Chicago Chicago Oak Park Obscuria
使用正则表达式来指定列
# 需要先设置属性才能使用正则 set hive.support.quoted.identifiers=none;# 查询所有`s`开头的列的数据 hive (default)> select name,`s.*` from employees; John Doe 100000.0 ["Mary Smith","Todd Jones"] Mary Smith 80000.0 ["Bill King"] Todd Jones 70000.0 ["lili"] Bill King 60000.0 ["Huahua","Xixi"]
使用列值进行计算
hive (default)> select upper(name),salary,deductions['Federal Taxes'],round(salary*(1-deductions['Federal Taxes'])) from employees; JOHN DOE 100000.0 0.2 80000.0 MARY SMITH 80000.0 0.2 64000.0 TODD JONES 70000.0 0.15 59500.0 BILL KING 60000.0 0.15 51000.0
当进行算术运算时,需要注意数据溢出或数据下溢问题,如果用户比较担心溢出和下溢,那么可以考虑在表模式中定义使用范围更广的数据类型。不过这样做的缺点是每个数据值会占用更多额外的内存。也可以使用特定的表达式将值转换为范围更广的数据类型。
使用函数
查看month 相关的函数
show functions like ‘month’
查看 add_months 函数的用法
desc function add_months;
- 查看 add_months 函数的详细说明并举例
desc function extended add_months;
Hive(五)——查询相关推荐
- php开发Hive Web查询
自己闲的没事,用php写了一个hive的查询界面,顺便把开发过程和遇到的问题记录下来. 一.php Hive API的问题 默认情况下,Hive本身自带的php API是不太好使的.一个是路径有问题, ...
- Hadoop生态圈-hive五种数据格式比较
Hadoop生态圈-hive五种数据格式比较 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- hive的条件查询语句_[一起学Hive]之九-Hive的查询语句SELECT
关键字:Hive SELECT.ORDER BY.SORT BY.DISTRIBUTE BY.CLUSTER BY.Hive子查询.Hive虚拟列 八.Hive的查询语句SELECT 在所有的数据库系 ...
- 执行Hive的查询语句报错:java.lang.IllegalArgumentException: Does not contain a valid host:port authority: loca
好不容易把Hive装完了,结果一执行Hive的查询语句运行MapReduce程序立马报错... log详细信息如下: Job running in-process (local Hadoop) Had ...
- impala查询数据与hive的查询数据比对(数据的校验)
impala查询数据与hive的查询数据比对 先在cdh的hue中分别用impala和hive的查询数据对比 将impala的查询语句写入到shell脚本中 a=(`impala-shell -q ' ...
- 大数据面试重点之hive(五)
HQL:行转列.列转行 可回答:Hive中怎么实现列转行,行转列? 问过的一些公司:Shopee(2021.07),美团(2021.08)x2 参考答案: 1.行转列:UDF聚合函数 相关函数 con ...
- 建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们
建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们 在本教程中,您将学习如何创建和查询HDInsight使用HiveHadoop的HBase的表.下列步骤描述: •如何使用 ...
- Hive Select 查询数据
Hive Select 查询数据 基本查询(Select-From) 全表和特定列查询 列别名 算术运算符 常用函数 Limit语句 Where语句 比较运算符(Between / In / Is N ...
- [Hive]子查询使用指南
1.在from语句中使用子查询 Hive在0.12版本后就支持了from条件中子查询,例如: SELECT ... FROM (subquery) name ... SELECT ... FROM ( ...
- Hive基本查询语法
基本使用规则 基本查询语句组成 select .. from ..join [tableName] on ..where ..group by ..having ..order by ..sort b ...
最新文章
- Maven学习详解(13)——Maven常用命令大全与pom文件讲解
- 命名人工智能最高奖,破译德军密码,却被祖国逼得自杀-6月7日
- Uniform Grid Quadtree kd树 Bounding Volume Hierarchy R树 搜索
- 使用numpy生成one_hot
- 如何在ashx页面获取Session值(未将对象引用设置到对象的实例) (转)
- 【dfs】无穷迷宫(jzoj 3924)
- 偶尔所得代码片(进程和锁相关)
- 差分隐私学习路线【定期更新】
- python字符串出栈方法_Python 实现字符串反转的9种方法
- 宝可梦世界无限极可以玩服务器吗,口袋妖怪世界无极限运行库
- 一步一步写算法(之选择排序)
- go -生成pb文件 -下
- ExtJs异步ajax调用和同步ajax调用公用方法(转)
- 山东联通中兴B860 AV1.1机顶盒 刷机问题解决
- postman接口测试
- matlab 谐波生成模块,simulink 谐波分析_matlab谐波分析_simulink中sign模块
- 相关系数——皮尔逊相关系数的公式及其理解
- net新的库相关的资源
- Excel日期格式转为常规文本格式
- 《当程序员的那些狗日日子》(八)床上等你
热门文章
- CStatic类的GDI双缓冲绘图
- Ubuntu18.04快捷键
- 当使用tensorflow时出现“the requested device apperas to be a GPU, but CUDA is not enabled”的解决办法
- 调试错误:ValueError: Protocol message Feature has no quot;featurequot; field.
- linux jdk路径
- 3.11-3.14 Hive 企业使用优化2
- 使用js生成条形码以及二维码
- Learning Scrapy笔记(零) - 前言
- Win7双屏显示设置
- Go Revel - Filters(过滤器链)