Hive优化及数据仓库建模_第1页
Hive优化及数据仓库建模_第2页
Hive优化及数据仓库建模_第3页
Hive优化及数据仓库建模_第4页
Hive优化及数据仓库建模_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hive优化及数据仓库建模技术创新,变革未来智慧IT目录Hive常见优化方式1Hive数据倾斜及解决办法2基于 Hive数据仓库建模3Hive调优-建表注意事项1,分区,分桶,一般是按照业务日期进行分区每天的数据放在一个分区里2,一般使用外部表,避免数据误删,/ChouYarn/p/7986830.html/xuguokun1986/article/details/509856133,选择适当的文件压缩格式4,命名要规范5,数据分层,表分离,但是也不要分的太散6,可以使用视图,避免重复查询Hive调优-查询优化分区裁剪 where过滤,先过滤,后jion分区分桶,合并小文件适当的子查询mapj

2、oin(1.2以后自动默认启动mapjoin)select /*+mapjoin(b)*/ a.xx,b.xxx from a left outer join b on a.id=b.id左连的时候,大表在左边,小表在右边。/articles/124835?spm=a2c4e.1115540413312nqEt9Horder by 语句:是全局排序sort by 语句:是单reduce排序distribute by语句:是分区字段排序;cluster by语句:可以确保类似的数据的分发到同一个reduce task中,并且保证数据有序防止所有的数据分发到同一个reduce上,导致整体的job时

3、间延长cluster by语句的等价语句:distribute by Word sort by Word ASCHive-数据倾斜优化1,数据倾斜解决看下key的分布处理集中的key原因1)、key分布不均匀(实际上还是重复) 比如 group by 或者 distinct的时候2)、数据重复,join 笛卡尔积 数据膨胀表现任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异过大。单一reduce的记录数与平均记录数差异过大,通常可能达到3倍甚至更多。 最长时长远大于平均时长。解决方案:1,看

4、下业务上,数据源头能否对数据进行过滤,比如 key为 null的,业务层面进行优化。2,找到key重复的具体值,进行拆分,hash。异步求和。Hive调优-作业优化调整mapper和reducer的数量太多map导致启动产生过多开销按照输入数据量大小确定reducer数目set mapred.reduce.tasks= 默认3dfs -count /分区目录/* hive.exec.reducers.max设置阻止资源过度消耗参数调节set hive.map.aggr = true (hive2默认开启)Map 端部分聚合,相当于Combinerhive.groupby.skewindata=

5、true基于Hive数据仓库建模数据仓库的发展大致经历了这样的三个过程:简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个阶段的大部分表现形式为数据库和前端报表工具。数据集市阶段:这个阶段,主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。数据仓库阶段:这个阶段,主要是按照一定的数据模型,对整个企业的数据进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过

6、数据仓库生成对对业务具有指导性的数据,同时,为领导决策提供全面的数据支持。Hive-数据仓库建模架构数据仓库的整理架构,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表Hive-数据仓库建模范式一、1NF1NF简单点就是原子性,列不可再分,没有重复的列也没有重复的行,基本上主要有主键的表都满足第一范式1、列不可再分这样就不符合。二、2NF1、2NF首先满足1NF2、非主属性必须依赖于键的全部,如果只依赖于主键的一部分,则需要移出创建新表。所以第二范式一般是联合主键。

7、hive-数据仓库建模方式1、分库分表,命名规范,库名以所在数据层开头命名,如:ods_dianxin_test2、星型和雪花型建模星型雪花模型星型模型因为数据的冗余所以很多统计查询不需要做外部的连接,因此一般情况下效率比雪花型模型要高。星型结构不用考虑很多正规化的因素,设计与实现都比较简单。雪花型模型由于去除了冗余,有些统计就需要通过表的联接才能产生,所以效率不一定有星型模型高。正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的 ETL、以及后期的维护都要复杂一些。因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。星型和雪花模型对比hive-数仓一些专业表称谓1,事实表:事实表是用来存储主题的主干内容,一些外键指向维度表。事实表一般是没有主键的,基本都是外键。数据的质量完全由业务系统来把握。一般单表字段较多,数据量比较大2,维度表:事实表中某个方向分支,必须有主键,用于关联事实表。一般数据量较小,变化缓慢。3,宽表:字段和数据量比较巨大,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论