设为首页 收藏本站
查看: 1394|回复: 0

Hadoop之数据仓库构建-Hive

[复制链接]

尚未签到

发表于 2015-11-11 13:03:42 | 显示全部楼层 |阅读模式
  目录
  Hive是什么...1
  hadoop是什么...1
  hadoop、hive两者关系...2
  hive的优缺点...2
  hive的存在意义...2
  hive常用命令...2
  一些相关命令...2
  创建表...3
  创建分区partition_table.dt.3
  加载数据到分区...4
  删除表 droptable partition_table. 4
  桶表...4
  内部表与外部表:4
  UDF、UDAF、UDTF:4
  hive使用技巧与优化方法...4
  3.1 重点参数设置... 4
  3.2 MapJoin. 4
  3.3 数据倾斜问题原因查找与解决方法... 5
  3.4 减少重复IO.. 5
  3.5 Map/Reduce参数的优化设置... 5
  FAQ..5
  4.1执行慢或卡死... 5
  4.2突然报异常,重跑后正常了/重跑后不正常?. 5
  4.3任务执行忽快忽慢,如之奈何... 5
  4.4数据评估一个任务合理的运行时间... 5
  4.5如何系统地完成一个hive任务的设计与实现... 5
  参考资料:...5
  QA.6
  自由问答时间...6
  
Hive是什么
hadoop是什么
  分布式存储系统(HDFS)   
  并行计算框架(Map/Reduce)  
hadoop、hive两者关系
  前者为Core,后者为Shell
  前者为驱体,后者为形状
hive的优缺点
  过度封装,易于使用,但难理其所以然,如遇异常情况经常使初学者或欠经验者卡壳。
  开放出来的API不够丰富灵活,个性化优化偶尔会比较困难,必要时要写原生态的MR。
  存在很多版本上的bug,有一定的不稳定性,升级成本较高。而原生态的MR要小很多。
hive的存在意义
  易于构建数据仓库:承载大数据量、易扩展、接口统一、易于维护
  BI等轻开发等人员的需要
  降低大数据应用研发门槛
  Hadoop生态圈的重要一环
hive常用命令
一些相关命令
SHOW TABLES; #查看所有的表

SHOW TABLES '*TMP*'; #支持模糊查询

SHOWPARTITIONS TMP_TABLE; #查看表有哪些分区

DESCRIBE TMP_TABLE; #查看表结构

创建表
  CREATE TABLE tmp_table #表名
  (
  title   string, #字段名称 字段类型
  minimum_bid     double,
  quantity        bigint,
  have_invoice    bigint
  )COMMENT'注释:XXX' #表注释
  PARTITIONED BY(pt STRING) #分区表字段(如果你文件非常之大的话,采用分区表可以快过滤出按分区字段划分的数据)
  ROW FORMAT DELIMITED
  FIELDSTERMINATED BY '\001'   # 字段是用什么分割开的
  STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'; #用哪种方式存储数据
创建分区partition_table.dt
创建表

createtable partition_table(c1 string,c2 string)

partitioned by(daytime string,city string)

row formatdelimited fields terminated by '\t'

stored asTEXTFILE;

加载数据到分区
load data local inpath '/home/partition_table.dat'into table

partition_tablepartition(daytime='2013-02-01',city='bj');

删除表 drop table partition_table
桶表
  桶表是对数据进行哈希取值,然后放到不同文件中存储。
  创建表create table bucket_table(id string) clustered by(id) into 4buckets; 加载数据set hive.enforce.bucketing = true;
  数据加载到桶表时,会对字段取hash值,然后与桶的数量取模。把数据放到对应的文件中。
  T1, f1,
  T2 f2
内部表与外部表:
UDF、UDAF、UDTF:
hive使用技巧与优化方法
3.1  重点参数设置
MR:Map(combiner),Reduce(copy,sort,reduce)
set hive.map.aggr=true;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=4;
set hive.groupby.skewindata=false;
set mapreduce.reduce.shuffle.memory.limit.percent=0.01;
set mapreduce.reduce.shuffle.input.buffer.percent=0.01;
set mapred.reduce.copy.backoff=20;
set io.sort.mb=200;
set mapred.max.split.size=536870912;
set mapred.child.java.opts=-Xms512m -Xmx5120m;
set mapred.job.map.memory.mb=3072;
set mapred.job.reduce.memory.mb=5120;
set mapred.reduce.tasks.speculative.execution=true;
set mapred.map.tasks.speculative.execution=true;
set hive.mapred.reduce.tasks.speculative.execution=true;
set mapred.reduce.tasks=1500;
set mapred.reduce.slowstart.completed.maps=0.95;
3.2  MapJoin
http://blog.iyunv.com/liuxianbing119/article/details/8668635
3.3 数据倾斜问题原因查找与解决方法
3.4  减少重复IO
      一次查询,多次插入,即Multi-groupBy操作
3.5  Map/Reduce参数的优化设置
  
FAQ
      4.1 执行慢或卡死
      4.2 突然报异常,重跑后正常了/重跑后不正常?
      4.3 任务执行忽快忽慢,如之奈何
      4.4 数据评估一个任务合理的运行时间
      4.5 如何系统地完成一个hive任务的设计与实现         
  
参考资料:
    天亮教育云分享地址:http://pan.baidu.com/s/1pJJrcqJ
    Csdn博客: http://blog.iyunv.com/erliang20088
    技术交流群:320349384
  
QA
自由问答时间
  
         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-137913-1-1.html 上篇帖子: Hadoop-0.20.0源代码分析(07) 下篇帖子: Hadoop源代码的边角料:HDFS的数据通信机制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表