Hive
本栏有关Hive数据仓库学习
<一蓑烟雨任平生>
没成功之前才华等于狗屎,只有成功了才证明你的一切!
展开
-
Hive中collect_list()排序问题详解
来看一道互联网公司的面试题:有个用户好友表:字段如下uid fans_uid score返回:uid, fans_uid_list【fans_uid的拼接串,按照score降序拼接】给出数据源:每个uid,有很多对应的fans_uid,每个fans_uid 都对应一个score,我们需要按uid分组,将fans_uid 的score按降序排序,将fans_uid 放在一个列表中,做好友推荐create temporary table tb_user_fans as select原创 2021-10-26 11:44:53 · 18055 阅读 · 11 评论 -
Hive Distinct 的实现原理
Hive Distinct 的实现原理select dealid, count(distinct uid) num from order group by dealid;当只有一个distinct字段时,如果不考虑Map阶段的Hash GroupBy,只需要将GroupBy字段和Distinct字段组合为map输出key,利用mapreduce的排序,同时将GroupBy字段作 为reduce的key,在reduce阶段保存LastKey即可完成去重。如果有多个distinct字段呢,如下面的SQ原创 2021-10-13 21:10:27 · 793 阅读 · 0 评论 -
Hive之count(distinct xxx)优化写法
先看一道某互联网公司的面试题:题目描述计算每个首份的买家数的sq代码如下:select province ,count(distinct buyer_id)from orderswhere dt = '20211012'group by province假设 orders表很大,每天有5千万订单,这个代码会有哪些问题,应该如何处理或者改写代码?解答:这种写法逻辑上没问题,而它的底层引擎是mapreduce,是分布式计算的,但是在实际业务中如果数据量过大,相同重复的key过原创 2021-10-13 21:08:17 · 786 阅读 · 0 评论 -
Hive中grouping sets与lateral view explode的用法
概述:GROUPING SETS函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。GROUPING SETS子句允许你指定多个GROUP BY选项。增强了GROUP BY的功能。可以通过一条SELECT语句实现复杂繁琐的多条SELECT语句的查询。并且更加的高效,解析存储一条SQL于语句在一个GROUP BY查询中,根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALL关于grouping原创 2021-07-06 22:20:43 · 544 阅读 · 1 评论 -
Hive思维导图总结!
一张图搞定Hive知识点以上内容仅供参考学习,如有侵权请联系我删除!如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。您的鼓励就是博主最大的动力!原创 2021-04-28 22:28:06 · 790 阅读 · 0 评论 -
主要hbase表一直在使用,映射成hive 表也会一直查。相互之间影响大吗?
答案是:不影响因为:Hive和hbase集成,创建的是外表,既然是外表,hive不管理数据,hbase会告诉他去hdfs什么地方拿数据,并且还有对应的表结构信息。以上内容仅供参考学习,如有侵权请联系我删除!如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。您的鼓励就是博主最大的动力!...原创 2020-12-30 12:38:13 · 253 阅读 · 0 评论 -
Hive与HBase的集成
Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。版本说明:hbase版本:hbase-1.3.1hive版本:apache-hive-2.3.3-bin数据模型:row,addres,age,username001,guangzhou,20,alex002,shenzhen,34,jack003,beijing,23,lili创建HBase的数据:c原创 2020-12-10 16:16:36 · 986 阅读 · 0 评论 -
Centos7下Hive安装与配置
目录Centos7下Hadoop完全分布式集群Hive安装第一步:安装软件(1)上传文件(2)解压文件第二步:配置环境变量第三步:修改配置文件(1)修改文件名称(2)配置hive-env.sh文件(3)在HDFS上创建Hive的目录第四步:启动测试第五步:Hive与MySQL集成(1)配置hive-site.xml文件(2)设置用户的链接(3)拷贝驱动包到hive的lib目录下(4)启动测试Centos7下Hadoop完全分布式集群Hive安装电脑系统:macOS 10.15.4虚拟机软件:Para原创 2020-07-16 17:05:15 · 2226 阅读 · 0 评论 -
Hive常用命令大全!
目录(1)进入Hive数据库(2)查看某个数据库(3)进入某个数据库(4)查看所有的表(5)显示表结构(6)查询表数据(7)显示表名的分区(8)创建数据库(9)删除数据库(10)创建数据表创建内部表创建外部表创建分区表内外表转换删除分区(11)加载数据列表(12)重命名表名(13)删除表(14)插入表数据向有分区的表插入数据向无分区的表插入数据(15)表结构修改增加字段修改字段删除字段(16)字段类型(17)复合数据类型(18)分桶表(19)创建一个视图(1)进入Hive数据库hive(2)查看某个原创 2020-07-16 22:14:01 · 12469 阅读 · 1 评论 -
Hive基本原理详解
目录一、Hive概述(1)什么是Hive?(2)Hive的优点及应用场景二、Hive 和 RDBMS(关系数据库管理系统)的对比三、Hive架构(1)Hive的基本组成(2)各组件的基本功能四、Hive的工作原理一、Hive概述(1)什么是Hive?由Facebook开源用于解决海量结构化日志的数据统计Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能构建在Hadoop之上的数据仓库:使用HQL作为查询接口,使用HDFS存储,使用MapRed原创 2020-07-11 15:40:42 · 10773 阅读 · 1 评论 -
Hive案例项目实战
目录一、案例项目实施方案二、 RegexSerDe处理数据三、数据拆分四、UDF数据转换五、数据分析六、一、案例项目实施方案拿到源数据access.log之后,准备工作如下:1.数据进行预处理,加载hive表之前 >>MR程序处理 >>正则表达式(企业推荐) >>python脚本2.表拆分,源数据不变,创建对应业务需求的字表3.基于子表的基础之上:3-1.数据文件存储格式:orc/parquet3-2.数据文件压缩:snappy3-3.m原创 2020-10-30 11:19:32 · 3736 阅读 · 1 评论 -
Hive的企业优化
目录一、Hive企业优化之Fetch Task讲解二、Hive企业优化之执行计划讲解三、Hive企业优化之表拆分方案讲解四、Hive企业优化之外部分区表优化方案五、Hive企业优化之SQL优化六、Hive企业优化之Job并行度七、Hive企业优化之推测执行及JVM重用八、Hive企业优化之Strict Mode九、Hive企业优化之join优化方案一、Hive企业优化之Fetch Task讲解hive.fetch.task.conversionFetch 抓取是指,Hive 中对某些情况的查询可以不原创 2020-10-28 11:11:35 · 303 阅读 · 0 评论 -
Hive数据压缩和存储格式
目录一、了解Hive的数据压缩二、Hive数据压缩的配置三、文件存储格式四、测试不同的文件格式(1)TextFile 格式(2)ORC格式(1)ORC(2)ORC+Snappy(3)Parquet(1)Parquet(2)Parquet+Snappy一、了解Hive的数据压缩hive 的数据压缩 == MR的数据压缩1.在哪个阶段进行数据压缩MR阶段过程: input -> map -> shuffle -> reduce -> outputshuff原创 2020-10-26 19:12:23 · 635 阅读 · 0 评论 -
Hadoop安装snappy(编译源码)
目录了解Hive的数据压缩Hadoop安装snappy(编译源码)第一步:配置阿里云yum源第二步:配置/etc/resolv.conf第三步:下载Hadoop源码并解压第四步:配置JDK第五步:安装配置maven第六步:protobuf-2.5.0安装第七步:snappy安装第八步:安装CMake第九步:hadoop编译第十步:hadoop配置修改(1)修改core-site.xml(2)修改mapred-site.xml测试疑惑详解了解Hive的数据压缩hive 的数据压缩 == MR的数据压缩原创 2020-10-25 19:22:01 · 1394 阅读 · 0 评论 -
Hive高级应用(三)
目录十五、Hive中数据备份十五、Hive中数据备份1.export导出数据 : EXPORT TABLE db_hive.order TO '/user/caizhengjie/datas/export/order'2.import导入数据:import table order_imp from '/user/caizhengjie/datas/export/order';IMPORT TABLE order_imp_1 FROM '/user/caizhengjie/datas/exp原创 2020-10-23 22:07:25 · 413 阅读 · 0 评论 -
Hive高级应用(二)
目录九、Hive中表的类型-外部表十 、管理表和外部表的区别以及应用场景十一、分区表(1)分区表概念(2)分区表创建一(3)分区表创建二十二、Hive分区表在企业中的应用十三、Hive表数据的六种加载方式十四、Hive结果数据的保存方式九、Hive中表的类型-外部表管理表/内部表:MANAGED_TABLE外部表:EXTERNAL_TABLECREATE EXTERNAL TABLE IF NOT EXISTS db_name.table_name (col_name data_typ原创 2020-10-22 13:22:43 · 299 阅读 · 0 评论 -
Hive高级应用(一)
目录一、Hive架构二、Hive的优点和使用场景三、Hive和HBase的区别四、Hive常用的命令五、Hive常用属性配置六、Hive中数据库的操作方式七、Hive中数据库表的创建方式(三种)八、Hive表的操作及表创建的场景Apache Hive是一个构建在hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为MapReduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询–因为它只能够在Hao原创 2020-10-20 20:48:23 · 501 阅读 · 0 评论