
Hive
文章平均质量分 79
hive相关使用
debimeng
这个作者很懒,什么都没留下…
展开
-
【hive】Hive常见的存储格式的区别与应用场景
Hive常见的存储格式的区别与应用场景一、文件存储格式行存储和列存储1.TextFile2.sequencefile3.RC4.orc(工作中常用)5.parquet二、四种存储格式分析一、文件存储格式在HIVE中,常见的文件存储格式有TextFileParquetORCSequencefileRCAVRO注意:TextFile、Sequencefile 基于行存储,ORC、Patquet基于列存储行存储和列存储上图中左边为行存储,右边为列存储行存储的特点:转载 2021-06-27 21:45:44 · 2695 阅读 · 0 评论 -
【Hive报错】FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
【场景】在hive3.1版本下执行以下语句报错--加载数据到桶表u_demo_bk中insert into table u_tab_bk_p select * from u_tab;可是插入到普通表和分区表的语句是能正常执行的。【原因】最后才知道是因为资源不足的问题,可是这数据量又不大,有可能hive的机制有关,本来它的场景就是为了解决大数据的问题。【解决】最后在主节点修改了yarn-site.xml文件,添加一个参数,即:关闭虚拟内存的检测,最后完整的内容如下:<co原创 2020-12-13 10:15:45 · 2559 阅读 · 0 评论 -
【Hive】使用临时表保留全量数据
hive使用临时表保留全量数据需求:在hive环境下,a表为全量表,b表为增量表(只有当天跑的数据),假设需要将a表中有的但b表中没有的数据仍然保留在a表,而且需要将b表中有的但a表中没有的数据追加到a表方案一:使用左外关联先将a表中有的数据但b表中没有的数据过滤出来,然后再将b表的数据与过滤出来的数据合并---------------------创建数据(在oracle演...原创 2019-12-26 22:38:12 · 1252 阅读 · 0 评论 -
【hive优化】SQL优化之where:将最大数据量的条件放在where最后
HiveSQL优化之where:将最大数据量的条件放在where最后今天在hive2测试了一下查询400多万的数据量,两个条件分别为account和calc_dateselect count(*) from tb_test where account = '123456' and calc_date = '2019-09-01'和select count(*) from tb_test ...原创 2019-10-24 22:55:05 · 2353 阅读 · 2 评论 -
【大数据_hive】hive工作原理
hive工作原理流程步骤为:1. 用户提交查询等任务给Driver。2. 编译器获得该用户的任务Plan。3. 编译器Compiler根据用户任务去MetaStore中获取需要的Hive的元数据信息。4. 编译器Compiler得到元数据信息,对任务进行编译,先将HiveQL转换为抽象语法树,然后将抽象语法树转换成查询块,将查询块转化为逻辑的查询计划,重写逻辑查询计划...原创 2019-02-01 17:10:06 · 606 阅读 · 0 评论 -
【Hive】Hive3中trunc函数功能
Hive3中trunc函数功能场景:因工作上使用的是hive2版本,并且在业务中需要用到trunc函数获取时间的季度的第一个月份,但查询hive2版本并没有像oracle那样的获取季度的时间。因hive已更新到hive3版本,想了解是否在新的版本里的trunc函数是否添加了各更多的功能,于是在伪分布式hadoop里安装了hive3.1.1版本,然后查看trunc相关使用方法hi...原创 2019-09-22 09:46:43 · 14114 阅读 · 0 评论 -
【Hive】显示当前数据库名
Hive3中显示当前数据库场景:新安装的hive,使用hive进入命令行后,单单显示了“hive>”,并不知道当前数据库名是哪个解决:方法一:使用select语句查看当前数据库hive> select current_database();方法二:使用参数,并配置到hive-site.xml文件,可以重复使用$ vi hive-site.xml &...原创 2019-09-22 09:57:35 · 1913 阅读 · 1 评论 -
【hive优化】hive join优化一:大表关联小表
hive join优化一:大表关联小表两个table的join的时候,如果单纯的使用MR的话会消耗大量的内存,浪费磁盘的IO,大幅度的影响性能。在大小表join的时候,即一个比较小的表和一个较大的表joining,如果使用mapjoin的话,就可以极大的节省时间,甚至达到只需要正常joining的一半时间。使用mapjoin的话会把小表直接放到内存,然后在map段跟大表进行join操作...原创 2019-10-02 22:28:07 · 6754 阅读 · 1 评论