hive
郭惠姗
这个作者很懒,什么都没留下…
展开
-
hive的自定义函数
为什么要自定义函数hive自带了一些函数,比如max、min,但是数量有限,自己可以自定义UDF来方便的扩展当hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:User-Defined-Function 较多)根据用户自定义函数类别分为以下三种:1.UDF:一进一出2.UDAF:聚集函数 多进一出 类似于:count/max/min3.UDTF:一进多出,如lateral view explore()官方文档地址:https://cwiki.a原创 2020-09-09 20:04:32 · 205 阅读 · 0 评论 -
hive的数据类型
基本数据类型因为hive也是java编写的,所以它的基本数据类型和java大致相同集合数据类型hive中的列支持struct、map、array集合数据类型array(数组)特点:个数可以不相同,但是类型相同例:以family为例建表语句:create table t_family(name string,families array<string>)row format delimited fields terminated by '\t'collection iter原创 2020-09-09 17:06:21 · 337 阅读 · 0 评论 -
数据仓库之系统数据流程设计
数据加工的整体流程设计如下图:数据源:业务交互数据前端埋点用户行为数据数据走向:业务数据上传到mysql数据库中,有些表需要每天进行更新,从业务服务器上传的数据每天都会有变化,数据库就是便于较少数据的增删改查。最终将数据通过sqoop上传到hdfs,在用sqoop上传时,可能运行时间比较长,例如20多张表需要一个小时才可以完全上传成功。埋点的用户行为数据储存在特定的linux目录中,我设置的是 /tmp/logs 中,启动flume将logfile上传到kafka指定的topic中,再启动f原创 2020-08-20 19:14:57 · 760 阅读 · 0 评论 -
hive函数之行转列和列转行
行转列:将多行转为一列1.写数据以"\t"隔开vim shujv.txt孙悟空 白羊座 A老王 射手座 A宋宋 白羊座 B猪八戒 白羊座 A凤姐 射手座 A2.建表以"\t"分割create table person_info( name string, constellation string, blood_type string)row format delimited fields terminated by '\t';3.原创 2020-08-19 20:30:57 · 375 阅读 · 0 评论 -
hive的优化
1.数据量较大的情况下慎用count(distinct name)问题:使用disticnt函数,所有的数据只会shuffle到一个reducer上,导致reducer数据倾斜严重易造成数据倾斜,比如:男UV,女UV,淘宝一天30亿的PV,如果按性别分组,分配2个reduce,每个reduce处理15亿数据。优化:建议使用group by 字段,分组之后再对该字段做次数统计;hive去重有...原创 2020-02-12 18:17:10 · 256 阅读 · 0 评论