Hive
诸葛子房_
先后就职于京东和BAT,在大数据领域有多年工作经验;
Apache Griffin&&Apache Zeppelin Contributor,dataCompare和dataService作者
展开
-
Hive group by 数据倾斜问题处理
发现一个10.19号的任务下午还没跑完,正常情况下,一般一个小时就已经跑完,而今天已经超过3小时了,因此去观察实际的任务,发现9个map 其中8个已经完成,就一个还在run,说明有明显的数据倾斜。在一小时内结束,并且没有哪个节点耗时较长。发现有使用group by。原创 2022-10-21 15:26:08 · 928 阅读 · 2 评论 -
离线表数据敏感字段自动id化处理
对于一些表数据包含的铭感字段需要id 化处理,比如说:用户搜索了某个关键词,或者用户的购物地址是某个城市,这种都需要进行模糊化处理,但是直接模糊化处理不利于使用,比如说:在三四线城市(村镇收货地址)的用户可能是下沉用户,或者搜索过美妆相关的关键词用户认为大概率是女性用户,但是这种又不太方便对外进行展示,所以需要进行id化。核心思路:用字典表和地址信息表进行关联,自动生成新的字典表,然后拿字典表和地址信息表进行匹配实现位置信息id化。认为地址位置id 为3和4的用户其实有非常相似的特征的。原创 2022-10-12 19:06:09 · 247 阅读 · 0 评论 -
Hbase 和Hive表关联
hbase.columns.mapping表示HBase里面的数据列和Hive表数据列的映射关系 :key表示RowKey映射到Hive表的key字段,请注意RowKey不要漏写最前面的冒号 cf1:col1表示column family cf1的col1列 对于INT和DOUBLE类型,需要在mapping中追加#b,表示以binary形式来解释 hbase.table.name表示指定HBase里面的表的名字 创建完成之后即可按照HiveQL来进行操作参考:创建hive...原创 2022-03-03 15:27:38 · 2207 阅读 · 0 评论 -
Hive sql 执行原理
1.Group By的执行任务2.distinct的执行任务:尽量用group by3.join 执行任务:从这个实现可以看出,我们在写Hive Join的时候,应该尽可能把小表(分布均匀的表)写在左边,大表(或倾斜表)写在右边。这样可以有效利用内存和硬盘的关系,提高Hive的处理能力。参考:hive原理及执行任务流程优化 - 程序员大本营 (pianshen.com)...原创 2021-08-13 17:21:07 · 172 阅读 · 0 评论 -
hive中的 lateral view
ateral view用于和split, explode等UDTF一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。一个简单的例子,假设我们有一张表pageAds,它有两列数据,第一列是pageid string,第二列是adid_list,即用逗号分隔的广告ID集合:string pageid Array<int> adid_list "front_page" [1, 2, 3] "contact_page" [3, 4, 5]原创 2021-08-13 16:07:26 · 795 阅读 · 0 评论 -
Hive 行列转换
https://www.cnblogs.com/blogyuhan/p/9274784.html原创 2021-01-25 15:56:01 · 119 阅读 · 0 评论 -
Hive SQL 优化
1.案例一原sql:select count(case when a.id in (select id from b) then 1 esle 0) from a;改造后:select count(case when b.id is not null then 1 else 0) from aleft join b on a.id=b.id;原创 2020-12-28 10:48:19 · 239 阅读 · 0 评论 -
Hive全量表和增量表互相转换
全量表和增量表互相转换原创 2020-11-09 17:43:12 · 3684 阅读 · 0 评论 -
Hive 建表以及使用
1.建库建表create databases testhive;create table student(id int,name string) row format delimited fields terminated by ",";2.数据样本2,Tiny3,Fun4,Mark3.加载数据load data local inpath "/opt/module/datas/student.txt" into table student;...原创 2020-06-08 17:39:20 · 272 阅读 · 0 评论 -
Hive安装
1.依赖(需要提前安装hadoop)https://blog.csdn.net/weixin_43291055/article/details/1064809022.下载Hivehive和hadoop版本:https://blog.csdn.net/weixin_40803329/article/details/80801216https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.7/3.安装...原创 2020-06-05 18:58:57 · 164 阅读 · 0 评论 -
Hive 内部表和外部表
外部表:原创 2020-05-29 10:10:12 · 168 阅读 · 0 评论 -
hive insert to 和insert overwrite 区别
一、结论基本能够明白 insert into 与insert overwrite 之间的异同,两者都可以向 hive 表中插入数据,但 insert into 操作是以追加的方式向 hive 表尾部追加数据,而 insert overwrite 操作则是直接重写数据,即先删除 hive 表的数据,再执行写入操作。(注意,如果 hive 表是分区表的话,insert overwrite 操作只会重写当前分区的数据,不会重写其他分区数据。)二、测试...原创 2020-05-26 13:15:02 · 523 阅读 · 0 评论 -
sql 各种join 对比
1.left join ===left outer join2.inner join3.right join参考:https://www.cnblogs.com/reaptomorrow-flydream/p/8145610.html原创 2020-05-14 14:04:41 · 231 阅读 · 0 评论 -
Hive rlike和like区别
1.rlikeA RLIKE B ,表示B是否在A里面即可。而A LIKE B,则表示B是否是A.B中的表达式可以使用JAVA中全部正则表达式,具体正则规则参考java,或者其他标准正则语法。hive (default)> select 'footbar' rlike '^f..]+r$';OKfalsehive (default)> select 'footbar' rlike '^f.*r$';OKtruehive (default)> select 'f.原创 2020-05-21 19:58:45 · 1293 阅读 · 0 评论 -
ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
数据:create table TEST_ROW_NUMBER_OVER( id varchar(10) not null, name varchar(10) null, age varchar(10) null, salary int null);select * from TEST_ROW_NUMBER_OVER t;inse...原创 2019-11-05 17:40:11 · 489 阅读 · 0 评论 -
创建hive表并关联数据
1.数据格式(hdfs数据) \tid+"\t"+namehdfs://ns1/user/traffic_etl/dt=2019-10-15/1.lzohdfs://ns1/user/traffic_etl/dt=2019-10-16/2.lzo2.创建表CREATE EXTERNAL TABLE `app.app_ord_etl_bak`( `id` strin...原创 2019-10-15 11:46:20 · 608 阅读 · 0 评论 -
Hive 全量表、增量表、拉链表 解析
1.全量表(1)全量表,有无变化,都要报(2)每次上报的数据都是所有的数据(变化的+没有变化的)第一次:id name money time 1 a 10 2020-05-18 00:01:01 2 b 20 2020-05-18 10:00:00 第二次:id name money time 1 a 20 2020-05-19 00:01:01 2 b 20 ..原创 2020-05-18 20:15:23 · 1154 阅读 · 0 评论 -
Hive LAG函数分析
含义:LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)数据准备:验证:...原创 2020-05-20 10:48:12 · 9490 阅读 · 0 评论