
Hive
文章平均质量分 81
xiaoxaoyu
小小鱼
展开
-
Hive sql分组函数grouping sets、cube、rollup用法简介
文章目录1、数据如下:2、建表如下:3、grouping sets4、cube5、rollup1、数据如下:user_id,dep_id,group_id,salary10001,a,101,1300010002,a,101,1700010003,a,101,900010004,a,101,1100010005,a,101,1800010006,a,102,1600010007,a,102,1000010008,b,103,1800010009,b,103,1100010010,b,原创 2022-04-03 17:45:10 · 4305 阅读 · 0 评论 -
万字长文详解HiveSQL执行计划
文章目录查看SQL的执行计划1. explain 的用法2. explain 的使用场景案例一:join 语句会过滤 null 的值吗?案例二:group by 分组语句会进行排序吗?案例三:哪条sql执行效率高呢?2. explain dependency的用法案例一:识别看似等价的代码案例二:识别SQL读取数据范围的差别3. explain authorization 的用法最后Hive SQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执转载 2021-06-27 09:51:12 · 320 阅读 · 0 评论 -
mybatis连接Hive和MySQL双源操作
文章目录一、mybatis连接hive和MySQL测试1、导入依赖2、创建druid连接池3、创建数据源4、创建实体类5、创建dao6、mybatis-config.xml7、mapper/hive-events.xml8、mapper/mysql-events.xml9、测试类二、mybatis代替sqoop的功能,把数据从Hive导入MySQL1-4、前四步与上例相同5、创建dao5.1、创建MySQLEventsDao5.2、创建HiveEventsDao6、第6步同案例17、mapper/hive-原创 2021-04-21 23:37:02 · 5558 阅读 · 5 评论 -
Hive&HBase JDBC之抽象工厂模式
文章目录抽象工厂模式的Hive和HBase连接一、dwdom工程1、新建dom4j工程1.1 新建接口Dom1.2 新建类DomFactory1.2.1 重写init方法1.2.2 重写get方法2、打成jar包二、dwjob工程1、导入pom依赖1.1 自定义的Dom依赖1.2 hadoop相关依赖2、Hive JDBC2.1 新建接口Hive2.2 新建类HiveFactory3、HBase JDBC3.1 新建HBase接口3.2 新建类HBaseFactory4、通用常量配置5、Job类5.1 新建原创 2021-02-02 09:03:17 · 277 阅读 · 0 评论 -
Hive项目02-数据清洗及函数运用
文章目录一、问题二、本题用到的知识点三、解题过程1、启动服务2、数据准备3、创建临时存储日志数据hive的表4、创建考试记录的表5、创建HBase表6、创建hive表映射hbase analysis:accuracy7、创建hive表映射hbase analysis:question8、创建hive的数据库9、插入数据到表ex_exam_record10、查出每个学生的成绩信息11、算出每个学生的平均成绩一、问题一份来自于某在线考试系统的学员答题批改日志,日志中记录了日志生成时间,题目难度系数,题目所属原创 2021-01-27 01:05:25 · 847 阅读 · 0 评论 -
Hive-JDBC流程
具体语句代码解释参照此文:MySQL-JDBC详细介绍,和MySQL的jdbc基本上没啥大的区别二、添加config配置文件和日志配置新建资源包以及config、日志的配置文件driver=org.apache.hive.jdbc.HiveDriverurl=jdbc:hive2://192.168.221.140:10000/defaultusername=rootlog4j.rootLogger=INFO, stdoutlog4j.appender.stdout=org.apach原创 2021-01-09 22:21:09 · 1440 阅读 · 2 评论 -
hive优化和数据倾斜解决方案
7.常见的Hive的优化方式有哪些(20分)开启执行计划:explain select …Fetch模式:只遍历不需要计算的表不走MapReduce本地模式:数据量小的时候走本地模式mapjoin:大表+小表时,使用mapjoin进入reducer的key分布不均衡,某一个key的值过多:在map阶段使用子查询,把这个key随机分到新的key上,然后把新的key和其他数据一起partition分区空值过多:同上一条,空值随机分给新的key;或者设置空值不参与表与表之间的关联合理的设置切片的参数原创 2020-12-17 19:35:44 · 593 阅读 · 0 评论 -
Hive项目流程,从0开始
一、测试环境搭建1、建表(一个文件一张表)二、分析1、※※※※※业务※※※※※2、根据业务找数据3、数据分析(数据规模,特性,分布,关系)4、技术选型5、建模6、在测试环境中模拟+验证解决方案explain select …select …检查数据分布,规模,倾斜(group count的方法检查)…三、生产环境搭建(数仓)1、设备采购2、装机ha hadoop clusterNameNodeSecondaryNameNodeDataNodeResourceManager原创 2020-12-15 21:35:16 · 410 阅读 · 0 评论 -
Hive概念01-内外表区别、分区表、分桶表的使用
Hive内部表和外部表概念?区别?最适合的应用场景?表结构都是由hive控制的,但是数据的控制权和删除表产生的结果不同:数据控制权:内部表由hive控制数据;外部表由hdfs,hbase等控制删除表产生的结果:内部表删除表结构和表数据;外部表只删除表结构,数据不会被删掉,并且如果重建了表结构,数据依然在表里。如何确定一个表是否为临时表?如何知道查询的是表还是视图?通过 show create table 表名查看Hive分区表的作用?静态分区和动态分区的区别建表方式一致作用:?区别:分区原创 2020-12-10 21:48:07 · 328 阅读 · 0 评论 -
Hive小项目之mysql、hbase、hive之间的表迁移、映射和查询
本文任务:创建关系型数据库,导入表。将多表结合起来,导入到hbase,然后通过hive映射hbase的数据进行查询。目录一、MySql表关联概念二、建表三、多表结合四、数据迁移—mysql->hbase五、建立hive映射六、查询一、MySql表关联概念关系型数据库的搭建,需要遵循三大范式,而三大范式反过来逼着我们不可避免的要将多个表关联起来。在表关联这一块,如果稍有差错,可能半个小时就完成的工作会因为不断的删表建表搞两三个小时。先说几个概念,1、外键:如果一张表中有一个非主键的字段指向了另一原创 2020-12-01 23:59:59 · 1251 阅读 · 0 评论 -
Hive-UDF自定义函数操作流程-Jar包操作
Hive UDF自定义函数按照以下流程操作1、使用IDEA新建Maven工程udf2、配置Maven工程的pom.xml,参考《使用IDEA新建MAVEN工程配置》,然后导包3、新建一个自定义子类,这个类继承于UDF4、写入想实现的功能5、功能测试成功后,右击右侧靠边栏的MavenProjects,点开Lifecycle,双击其中的package,系统就会自动打包生成一个.jar文件 ,并给出jar包的路径。6、进入jar包的文件目录,修改名字为自己想要的名字7、把jar包通过XFTP拖到h原创 2020-11-17 19:14:05 · 2151 阅读 · 0 评论 -
Hive分析窗口函数整理
sql里有聚合函数sum,avg等,这些函数配合group分组将多行数据聚集为一行,但是有时候我们想要显示聚集前的数据,又想要聚集后的数据,因此在hive中,我们引入了窗口函数窗口函数包含两个部分,第一是分析函数,第二是over子句一、常用的聚合函数:count,sum,avg,max,min等。1、over从句规范:over(partition by ??? order by ??? row|range between ??? and ???),里面三个字段,2-4分别介绍三个字段的意义2、gro原创 2020-11-15 18:01:07 · 246 阅读 · 0 评论 -
Hive常用操作大全
一、常用操作1、查看数据库:show databases;2、根据字段筛选和查找表:show tables like ‘?’3、查看表结构:desc TABLE_NAME;4、创建[外部]表:create [external] table TABLE_NAME( 字段 字段类型) row format delimited fields terminated by ‘分隔符’ [map、struct等其他限制条件,如果有]5、导入数据:load data [local] inpath ‘PATH’原创 2020-11-15 01:12:11 · 2414 阅读 · 0 评论 -
beeline连接数据库报错问题解决:Connection refused (Connection refused) (state=08S01,code=0)
今天在工作时没注意笔记本电池用完了自动关机了,然后晚上回家开机后,beeline服务一直开启不了,报如下的错误在网上查阅众多方法尝试均无果,metastore和hiveserver2都能启动出RunJar进程,始终无法连接上10000端口,退出安全模式也没用。后面急了一身汗,静下心来想了下自己没有更改过任何东西,突然的断电应该是导致hadoop的数据和镜像文件的时间戳对不上,便试着把日志镜像文件和数据的文件夹删掉重建,然后格式化namenode,重启服务,成功解决问题。...原创 2020-11-14 00:39:57 · 1458 阅读 · 0 评论 -
hive启MapReduce失败
hive启MapReduce失败一、首先排查hadoop日志IP:50070/logs/1.如果NN或SNN日志异常,一般需要重新格式化NN,删除tmp文件(就是删除镜像文件和日志文件,name里放的是edit_log和fsimage,data是数据文件,日志后面的时间戳和数据文件的时间戳对不上了就会出错,删除之后里面的文件都没了,并且权限也恢复为默认的)2.然后进入sbin/hdfs namenode -format格式化3.授权:hdfs dfs -chmod -R 777 /4.重新启动服务原创 2020-11-13 11:41:19 · 864 阅读 · 0 评论 -
Hive函数详解以及案例参考
hive函数和mysql的函数在使用上有比较大的相似性,但具体在类别上还是有所区别,下面从数学、集合类型转换、日期、条件、字符串这几个维度整理了常用的函数。一、在Hive中查看函数的介绍desc function extended FUNC_NAME;二、数学函数log(double base,double a)简介:底数为base的a的对数,base可以自定义返回值类型:doublepow(double base,double p)简介:幂运算,底数为base的p的幂的值,若原创 2020-11-11 19:20:40 · 1701 阅读 · 0 评论