hive
忍哥
这个作者很懒,什么都没留下…
展开
-
hive安装部署
1.上传tar包2.解压 tar -zxvf hive-1.2.1.tar.gz 3.安装mysql数据库 推荐yum 在线安装4.配置hive (a)配置HIVE_HOME环境变量 vi conf/hive-env.sh 配置其中的$hadoop_home(b)配置元数据库信息 vi hive-site.xml原创 2018-04-01 11:42:55 · 178 阅读 · 0 评论 -
大数据Hive 面试以及知识点
Hive的工作原理流程大致步骤为:1. 用户提交查询等任务给Driver。2. 编译器获得该用户的任务Plan。3. 编译器Compiler根据用户任务去MetaStore中获取需要的Hive的元数据信息。4. 编译器Compiler得到元数据信息,对任务进行编译,先将HiveQL转换为抽象语法树,然后将抽象语法树转换成查询块,将查询块转化为逻辑的查询计划,重写逻辑查询计划,将逻辑计划转化为物理的...原创 2018-04-21 21:31:27 · 1254 阅读 · 0 评论 -
hive使用rank实现topN的查询
前置条件: 安装好hive 背景: hive表中存有cookieid和time两个字段 目标: 通过rank方法查出每个cookieid在哪一天的次数最多 具体步骤如下: 一、创建表 CREATE EXTERNAL TABLE tmp_dh_topN ( cookieid string, vtime string –day ) ROW FORMAT DELIMITED FI...转载 2018-05-02 18:47:00 · 881 阅读 · 0 评论 -
Hive数据倾斜解决方案
数据倾斜的解决方案 2.1参数调节: hive.map.aggr=true Map 端部分聚合,相当于Combiner hive.groupby.skewindata=true 有数据倾斜的时候进行负载均衡,当选项设定为 true,生成的查询计划会有两个 MR Job。第一个 MR Job 中,Map 的输出结果集合会随机分布到 Reduce 中,每个 ...原创 2018-04-26 21:55:04 · 887 阅读 · 0 评论 -
Hive自己如何确定reduce数和map数
控制hive任务中的map数: 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改); Hive自己如何确定reduce数: reduce个数的...原创 2018-04-26 21:56:25 · 1864 阅读 · 0 评论 -
Hive之数据倾斜的原因和解决方法
摘要: Hive之数据倾斜的原因和解决方法 数据倾斜 在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决...转载 2018-04-26 23:18:13 · 412 阅读 · 0 评论 -
Shell批量获取hive库中的建表语句
这里采用Shell的方法在hive库里面循环执行”show create table“获取其对应的建表语句;两个脚本,分别是两种方式,一个是”show tables”后将表列表生成文件,然后根据读取文件进行建表语句的查询;而第二种是在for条件中直接获取表的列表清单,然后查询建表语句;很明显,后一种方式简单明了。 1、第一种方式 /home/hadoop/nisj/xx/Yao/hiveTab...转载 2018-08-09 15:08:52 · 1782 阅读 · 0 评论 -
不同hive集群中基于表的数据一致性比对
因对hadoop集群进行数据迁移,数据迁移完毕后进行两个hive库的数据一致性的比对,不仅对源表数据进行比对,而且要同时使用两个集群加工相同数据,对加工后的数据进行数据一致性比对,下面采用md5方法的验证: #!/bin/bash db='hmdbi' hive -e "use $db;show tables '*';"> tables.txt sleep 2 ...原创 2018-08-23 14:17:27 · 1742 阅读 · 0 评论