hive
文章平均质量分 76
Appreciate(欣赏)
有志者、事竟成,破釜沉舟,百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴
展开
-
hive企业级调优策略之CBO,谓词下推等优化
不幸的是,Hive并不会执行这种优化,因此,如果表足够大,那么这个查询就会出现不可控的情况。对于小数据集,执行时间可以明显被缩短。根据上述案例可以看出,CBO优化对于执行计划中join顺序是有影响的,其之所以会将province_info的join顺序提前,是因为province info的数据量较小,将其提前,会有更大的概率使得中间结果的数据量变小,从而使整个计算任务的数据量减小,也就是使计算成本变小。CBO优化也会完成一部分的谓词下推优化工作,因为在执行计划中,谓词越靠前,整个计划的计算成本就会越低。原创 2023-12-20 10:25:52 · 1722 阅读 · 0 评论 -
hive执行集群模式正常本地模式报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
默认HADOOP_HEAPSIZE为256 (MB),设置成1024M。将hive-env.sh.template后缀.template去掉。原创 2023-12-19 21:00:54 · 527 阅读 · 0 评论 -
hive企业级调优策略之小文件合并
小文件合并优化,分为两个方面,分别是Map端输入的小文件合并,和Reduce端输出的小文件合并。原创 2023-12-19 15:44:06 · 695 阅读 · 1 评论 -
hive企业级调优策略之数据倾斜
数据倾斜问题,通常是指参与计算的数据分布不均,即某个key或者某些key的数据量远超其他key,导致在shuffle阶段,大量相同key的数据被发往同一个Reduce,进而导致该Reduce所需的时间远超其他Reduce,成为整个任务的瓶颈。原创 2023-12-19 14:35:55 · 1541 阅读 · 0 评论 -
hive企业级调优策略之Join优化
Hive拥有多种join算法,包括Common Join,Map Join,Bucket Map Join,Sort Merge Buckt Map Join等原创 2023-12-19 11:27:30 · 2097 阅读 · 0 评论 -
hive企业级调优策略之分组聚合优化
Hive对分组聚合的优化主要围绕着减少Shuffle数据量进行,具体做法是map-side聚合。所谓map-side聚合,就是在map端维护一个hash table,利用其完成部分的聚合,然后将部分聚合的结果,按照分组字段分区,发送至reduce端,完成最终的聚合。map-side聚合能有效减少shuffle的数据量,提高分组聚合运算的效率。原创 2023-12-19 11:23:45 · 1389 阅读 · 0 评论 -
hive企业级调优策略之如何用Explain查看执行计划
Explain呈现的执行计划,由一系列Stage组成,这一系列Stage具有依赖关系,每个Stage对应一个MapReduce Job,或者一个文件系统操作等。原创 2023-12-19 11:21:24 · 669 阅读 · 0 评论 -
FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me
FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me原创 2023-12-17 11:26:20 · 2118 阅读 · 0 评论 -
hive的分区表和分桶表详解
分桶表的基本原理是,首先为每行数据计算一个指定字段的数据的hash值,然后模以一个指定的分桶数,最后将取模运算结果相同的行,写入同一个文件中,这个文件就称为一个分桶(bucket)。原创 2023-12-15 13:24:36 · 515 阅读 · 0 评论 -
hive常用SQL函数及案例
Hive会将常用的逻辑封装成函数给用户进行使用,类似于Java中的函数。好处:避免用户反复写逻辑,可以直接拿来使用。重点:用户需要知道函数叫什么,能做什么。Hive提供了大量的内置函数,按照其特点可大致分为如下几类:单行函数、聚合函数、炸裂函数、窗口函数。以下命令可用于查询所有内置函数的相关信息。原创 2023-12-14 17:07:44 · 1820 阅读 · 0 评论 -
hive聚合函数之排序
distribute by类似MapReduce中partition(自定义分区),进行分区,结合sort by使用。cluster by除了具有distribute by的功能外还兼具sort by的功能。Sort By:对于大规模的数据集order by的效率非常低。对于distribute by进行测试,一定要分配多reduce进行处理,否则无法看到distribute by的效果。distribute by的分区规则是根据分区字段的hash码与reduce的个数进行相除后,余数相同的分到一个区。原创 2023-12-14 11:06:38 · 405 阅读 · 0 评论 -
hive聚合函数之JOIN原理及案例
本例中会首先启动一个MapReduce job对表e和表d进行连接操作,然后会再启动一个MapReduce job将第一个MapReduce job的输出和表l进行连接操作。union和union all都是上下拼接sql的结果,这点是和join有区别的,join是左右关联,union和union all是上下拼接。union去重,union all不去重。将员工表30部门的员工信息和40部门的员工信息,利用union进行拼接显示。内连接:只有进行连接的两个表中都存在与连接条件相匹配的数据才会被保留下来。原创 2023-12-13 17:47:28 · 291 阅读 · 0 评论 -
hive自定义函数及案例
1.继承 AbstractGenericUDAFResolver重写 getEvaluator方法,对传入的值进行判断。2.创建数据缓存区,创建一些变量来进行调用赋值,作为中间值,类似于flink的checkpoints。3.继承GenericUDAFEvaluator类重写方法即可,实现具体逻辑的类。为了方便理解可以参考以下文章:UDAF重要的类及原理分析(UDAF继承类的各个方法的用法)Hive之ObjectInspector详解(UDAF中用到的类型详解)原创 2023-12-09 15:27:10 · 776 阅读 · 0 评论 -
User: zhangflink is not allowed to impersonate zhangflink
User: xxx is not allowed to impersonate xxx原创 2023-12-06 19:44:54 · 675 阅读 · 0 评论 -
Hive的使用技巧
注意:用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。默认配置文件:hive-default.xml。用户自定义配置文件:hive-site.xml。重新启动日志路径已经出现在配置的路径。原创 2023-12-05 15:23:36 · 566 阅读 · 0 评论
分享