
hive
thetimelyrain
见微知著
展开
-
hive查询之开窗函数<7>
学习hive的开窗函数,顺便总结一番: 普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。 开窗函数一般分为两类,聚合开窗函数和排序开窗函数。 目录 聚合开窗函数 sum开窗函数 count开窗函数 min...原创 2020-02-06 17:18:36 · 339 阅读 · 0 评论 -
hive入门之常用查询函数<6>
1.空字段赋值 NVL:给值为NULL的数据赋值,它的格式是NVL(value,default_value)。它的功能是如果value为NULL,则NVL函数返回default_value的值,否则返回value的值,如果两个参数都为NULL,则返回NULL。 eg: select comm,nvl(comm, -1) from emp; 查询comm字段,值为null就展示-1. 2.CA...原创 2020-02-04 18:02:38 · 184 阅读 · 0 评论 -
hive入门之分桶表<5>
分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区。对于一张表或者分区,Hive 可以进一步组织成桶,也就是更为细粒度的数据范围划分。原创 2020-02-04 15:46:50 · 270 阅读 · 0 评论 -
hive入门之排序查询(order by,sort by,distribute by,cluster by...)<4>
HQL查询和一般的sql语句的查询基本一直,本文主要总结下hive里面的一些基本排序查询。 文章目录1.order by:2.Sort by3.Distribute by4.Cluster by 数据准备: SELECT e.ename, d.dname, l.loc_name FROM emp e JOIN dept d ON d.deptno = e.deptno JOIN...原创 2020-02-04 15:26:13 · 252 阅读 · 0 评论 -
hive里面select count(*)始终为0,select * 有数据
如题,在使用hive的时候,使用聚合函数select count(*) 的时候,不走MR程序,直接返回0,而select * 是有数据的: 原因是我的数据是直接通过put命令上传到指定目录的,并没用load进行上传,使用hdfs查看文件: 俩个文件的权限是不一样的,暂时没有好的办法解决,我的办法是删除原来的数据,老老实实使用load命令进行加载数据就可以了。 ...原创 2020-02-04 12:10:10 · 2644 阅读 · 0 评论 -
hive入门之分区表<3>
文章目录1.概念2.创建分区表3.加载数据到分区表4.分区数据查询5.添加分区6.删除分区7.查看分区表有多少个分区8.二级分区表9.把数据直接上传到分区目录上,让分区表和数据产生关联的三种方式 1.概念 hive的分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHE...原创 2020-02-03 17:50:10 · 185 阅读 · 0 评论 -
hive入门之内部表和外部表<2>
1.hive的内部表和外部表 内部表: 使用建表语句: create table if not exists student2( id int, name string ) row format delimited fields terminated by '\t' stored as textfile; 使用desc查看表结构: 外部表: 使用建表语句: create table i...原创 2020-02-01 16:38:44 · 196 阅读 · 0 评论 -
hive命令入门<1>
1.使用bin/hive -help查询hive的帮助 2.使用bin/hive进入hive的命令行 3.基本命令: 查看数据库 show databases; 查看表名 show tables; 在hive cli命令窗口中查看hdfs文件系统 dfs -ls /; 在hive cli命令窗口中查看本地文件系统 ! ls /... 退出hive cli qui...原创 2020-01-31 15:59:51 · 255 阅读 · 0 评论 -
Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
hive使用show databases;命令报错: 1.确认hive-site.xml中的地址,用户名还有密码填写正确: 2.确认lib目录下已经添加了mysql的驱动包: 3.需要初始化元数据: ./schematool -initSchema -dbType mysql 使用上面的命令初始化元数据,在mysql的表里面就有数据了 ...原创 2020-01-31 13:18:40 · 175 阅读 · 0 评论