Hive
文章平均质量分 65
这里是本人学习大数据的数据仓库处理工具Hive的学习笔记
荒野求思
人生就像写代码,总有bug出现
展开
-
Hive的常用函数(nvl,case when,行转列,列转行,爆炸函数)
目录综述:NVL:case when:行转列,CONCAT,CONCAT_WS,COLLECT_SET:列转行:EXPLODE,LATERAL VIEW:综述:在Hive中有六类常用的函数,除了本文讲述的四类函数之外,还有rank函数,和开窗函数,Hive中的自定义函数一般被分成了三类UDF:uer-defined-function 一进一出UDAF:user...原创 2018-12-06 14:52:04 · 8303 阅读 · 1 评论 -
Hive文件存储格式(TEXTFILE 、ORC、PARQUET三者的存储格式的压缩对比和查询速度对比)
综述:HIve的文件存储格式有四种:TEXTFILE、SEQUENCEFILE、ORC、PARQUET,前面两种是行式存储,后面两种是列式存储;所谓的存储格式就是在Hive建表的时候指定的将表中的数据按照什么样子的存储方式,如果指定了A方式,那么在向表中插入数据的时候,将会使用该方式向HDFS中添加相应的数据类型。如果为textfile的文件格式,直接load就OK,不需要走MapRed......原创 2018-12-06 11:51:06 · 28543 阅读 · 4 评论 -
HIve自定义函数(自定义UDF函数)
步骤如下:1,导入依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec --> <dependency> <groupId>org.apache.hive</groupId> <artifact...原创 2018-12-04 18:08:51 · 398 阅读 · 0 评论 -
Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)
目录总结:案例实操:总结:RANK() 排序相同时会重复,总数不会变DENSE_RANK() 排序相同时会重复,总数会减少ROW_NUMBER() 会根据顺序计算这三个函数常常和开窗函数结合在一起使用案例实操:1,计算没门科目的成绩排名:[isea@hadoop108 datas]$ cat score.txt 悟空 语文 87悟空 数学 95......原创 2018-12-04 09:45:55 · 35406 阅读 · 4 评论 -
Hive的表操作(表名的修改,列的修改)
关于表的修改命令如下:包括更改表名,给表增加字段,查看表的信息,表字段的替换1,表名的修改:0: jdbc:hive2://hadoop108:10000> show tables;+-----------+--+| tab_name |+-----------+--+| stu1 || stu2 || stu3 || stu_ex1 ...原创 2018-12-04 08:24:34 · 2497 阅读 · 0 评论 -
Hive的窗口函数(附带上手案例)
目录窗口函数的概述与总结:可上手案例实操:总结:窗口函数的概述与总结:1.什么时候用开窗函数?开窗函数常结合聚合函数使用,一般来讲聚合后的行数要少于聚合前的行数,但是有时我们既想显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数.如下:+-------+-------------+-------+---------------+--+| name | ...原创 2018-12-03 19:18:20 · 641 阅读 · 1 评论 -
Hive的分桶表和抽样查询(附带案例,分桶和分表的区别)
目录总结:分桶表:分桶和分区的区别:抽样查询:总结:总结:①分桶为抽样查询而生,分桶表的创建使用【clustered by (分桶字段)into 桶的个数 buckets】 ,往分桶表中导入数据的时候,需要借助第三张表select table_tmp 目的是借助MapReduce来实现导入不同的桶中,分桶的规则是分桶字段的hash值,模Reducer的个数;②分桶切割...原创 2018-12-02 23:10:05 · 829 阅读 · 0 评论 -
Hive的排序(Order by,Sort by,Distribute by,Cluster by)
目录总结:Order by:Sort by:Distribute by:Cluster by:总结:总结:①order by 全排序,最终会使用一个Reducer生成一个有序的文件,如果输入的数据太大的话,一个Reducer根本应付不过来;②sort by ,会启用多个Reducer进行分区排序(对数据随机分区),并生成多个文件,文件内部是有序的,全局无序;③di...原创 2018-12-02 20:05:31 · 1202 阅读 · 0 评论 -
让分区表和数据产生关联的三种方式
目录总结:方式一:上传数据后添加分区alter add:方式二:上传数据后修复msck:方式三:创建文件夹后load数据到分区:总结:总结:让分区表和数据产生关联的方式有三种:①先在HDFS上创建分区的目录,并上传数据到该目录,最后在使用alter table add partition②先在HDFS上创建分区的目录,并上传数据到该目录,最后使用msck re...原创 2018-12-03 10:29:17 · 934 阅读 · 0 评论 -
Hive中的分区表
目录总结:分区结构图和原理:上手案例实操: 总结:总结:①创建分区表的时候,指定非表字段的分区字段,使用partitioned by ;②向分区表中插入数据的时候,在表名的后面要加上partition(分区字段名=分区字段值)③如果一个表是分区表,那么该分区表在HDFS上是一个以表名为名的路径,那么同时,该路径下还有分区的路径,以分区字段=分区字段值的形式命名。④使用wh...原创 2018-12-03 09:33:07 · 498 阅读 · 0 评论 -
Hive中外部表和管理表(创建表的三种方式)
目录总结: Hive中创建一张表:创建一张表的同时,借助as 来导入数据:创建一张表的同时,借助like 来获取表结构而不是数据:外部表:外部表的使用 场景:结合location来使用:外部表和内部表的转化:总结: 总结: 1,删除管理表的时候,会将管理表的HDFS上的数据和Metastore中的元数据(表结构等)都删除掉:而删除外部表的时候,仅会删除Me...原创 2018-12-03 08:50:19 · 2661 阅读 · 0 评论 -
Hive的常见属性配置和Hive的常见指令
目录Hive的数据仓库的配置: 查询后信息显示配置:Hive运行日志信息的配置:Hive的常见指令:Hive的数据仓库的配置:Hive的数据仓库是Hive存储真实的数据的地方,这些数据存储在HDFS上,也即Hive的metastore存储了关于表的字段,结构等信息,而Hive的数据仓库存放的是Metastore中的表中的数据。这些数据存放的默认地址是:/user/hive/...原创 2018-11-30 18:42:09 · 713 阅读 · 0 评论 -
Hive的安装和更为Hive的数据库为MySQL,使用JDBC连接Hive
目录前言:Hive的安装:更为Hive的数据库为MySQL:多窗口测试:HiveJDBC访问:前言:首先Hive会将数据存储在HDFS上,Hive的本质是将HQL转化成MapReduce,Hive还需要YARN进行资源调度,所以安装Hive的前提是,你已经搭建好了Hadoop集群,关于Hadoop集群的搭建,请参见下面的这篇文章:15分钟,搭建Hadoop集群...原创 2018-11-30 18:08:19 · 1489 阅读 · 0 评论