运用Hadoop开源技术推动大数据落地_第1页
运用Hadoop开源技术推动大数据落地_第2页
运用Hadoop开源技术推动大数据落地_第3页
运用Hadoop开源技术推动大数据落地_第4页
运用Hadoop开源技术推动大数据落地_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、培训目标熟悉HADOOP应用背景123了解Hadoop应用案例了解Hadoop技术最佳实践培训目录大数据和数据仓库概述1Hadoop 应用案例和云平台2Hadoop 数据仓库python/java最佳实践3数据可视化案例4基于数据仓库平台改造变迁5阿里金融通过大数据整合掘金阿里金融通过大数据整合掘金!阿里金融的信用评估系统会自动分析小微企业的数据,例如企业通过支付宝,淘宝进行的支付数据,最终算出信用评估和放贷额度。截止2011年底,阿里金融对近30万家小微企业进行信用评估。累计投放96800家,投放贷款154亿,坏账率为交易额的0.76%。阿里金融的实时业务阿里金融的实时业务墙墙阿里金融的数据

2、模型任务(局部)阿里金融的数据模型任务(局部)每个模型任务都是面向海量数据的大规模运算任务。天猫/淘宝 双十一191亿背后的开源技术?dbatools: 双十一一天时间,双十一一天时间,支付宝核心数据库集群处理了支付宝核心数据库集群处理了41亿个事务,亿个事务,执行执行285亿次亿次SQL,访问访问1931亿次内存数据块,亿次内存数据块,13亿个物理读,亿个物理读,生成生成15TB日志日志。数据应用开发平台数据工场 Hive报表需求(淘数据)Hbase即席查询(adhoc)数据分析数据挖掘数据产品淘宝数据云梯平台淘宝数据云梯平台-产品架构产品架构实时计算 底层平台数据开发平台数据应用是需求驱动

3、技术是需求驱动技术,技术带动需求技术带动需求?思考-云计算技术有两极 3200台主机Hadoop解决了什么难题? 移动计算而非移动数据,化整为零,分片处理。 本地化计算,并行IO,降低网络通信思考-数据分析系统的基本指标思考-数据分析系统的基本指标 海量用户海量用户大规模批量服务(服务 1.0) 决策逻辑决策逻辑 数据库数据库用户用户1逻辑逻辑1逻辑逻辑N数据集数据集 编辑人员编辑人员用户用户N 编辑编辑逻辑逻辑信息生产者信息生产者信息消费者信息消费者Mysql/Oracle 大数据仓库大数据仓库 海量用户海量用户大规模个性化服务(服务 2.0) 决策逻辑决策逻辑 大数据库大数据库用户用户1逻

4、辑逻辑1服务数据服务数据1用户用户N逻辑逻辑N服务数据服务数据N原始数据原始数据N挖掘逻辑挖掘逻辑NHiveHbaseStormHadoop原始数据原始数据1原始数据原始数据2信息信息 生产者生产者/消费者消费者 规则制定规则制定 上帝之手上帝之手本质:智能组织-智能群体实时实时思考-数据分析系统的基本指标反馈决策周期!快反馈决策粒度! 细反馈决策准确性! 准 反馈总体成本! 廉价数据统计/分析 是一个组织 自动控制,自学习,自调整系统核心组成部分。机会成本! 想象空间!Hadoop 前的数据仓库流程反馈决策周期!快 ?反馈决策粒度! 细 ?反馈决策准确性! 准 ? 反馈总体成本! 廉价 ?

5、perl,shell,awk Hadoop后的数据仓库流程反馈决策周期!快 ?反馈决策粒度! 细 ?反馈决策准确性! 准 ? 反馈总体成本! 廉价 ?持续扩展成本 ? Hql,Pig,Mapreduce,工作流 那些用户需要Hadoop (合)技术?案例解析User Case 1 (网页游戏) 国内网页游戏厂商 百个服/网页游戏,30-50个库/服 10G用户数据/天/游戏 十几款游戏场景: 游戏玩家行为分析 其他平台:数据无法导出 中间数据汇总丢弃,无法用户级分析User Case 2(智慧交通) 用户:最大城市,交通领域(City traffic) 场景:车牌记录Car Licence P

6、late,100亿10 Billion/年 需求:小时级别-优化到分钟级Minute -未来优化到秒级Seconds查询Intelligent TransportationSmarter Cities场景: 车辆异常快速识别Vehicle Abnormal 交通安全问题Hadoop技术 其他应用领域 电信 医疗 交通 公安 航空 电力 金融 搜索 社交 游戏 视频民生核心基于hadoop的数据平台总体架构Python 结合 Hadoop Streaming 原理解析MapReduce基本流程实现distinct一、日志格式:0E3AAC3B-E705-4915-9ED4-EB7B1E96359

7、0FB11E363-6D2B-40C6-A096-95D8959CDB9206F7CAAB-E165-4F48-B32C-8DD1A8BA2562B17F6175-6D36-44D1-946F-D748C494648A06F7CAAB-E165-4F48-B32C-8DD1A8BA2562B17F6175-6D36-44D1-946F-D748C494648AB11E363-6D2B-40C6-A096-95D8959CDB9217F6175-6D36-44D1-946F-D748C494648AE3AAC3B-E705-4915-9ED4-EB7B1E9635906F7CAAB-E165-4

8、F48-B32C-8DD1A8BA25624使用python实现 distinct/count一、日志格式:0E3AAC3B-E705-4915-9ED4-EB7B1E963590FB11E363-6D2B-40C6-A096-95D8959CDB9206F7CAAB-E165-4F48-B32C-8DD1A8BA2562B17F6175-6D36-44D1-946F-D748C494648A06F7CAAB-E165-4F48-B32C-8DD1A8BA2562B17F6175-6D36-44D1-946F-D748C494648AB11E363-6D2B-40C6-A096-95D8959

9、CDB9217F6175-6D36-44D1-946F-D748C494648AE3AAC3B-E705-4915-9ED4-EB7B1E9635906F7CAAB-E165-4F48-B32C-8DD1A8BA25624import sysfor line in sys.stdin: try:flags = line1:-2 str = flags+t+1 print strexcept Exception,e:print e#!/usr/bin/pythonimport sysres = for line in sys.stdin: try: flags = line:-1.split(t

10、) if len(flags) != 2: continue field_key = flags0 if res.has_key(field_key) = False: resfield_key = 0 resfield_key0 = 1 except Exception,e: passfor key in res: print key( distinctcount)-map(distinct)-red#!/usr/bin/pythonimport syslastuid=num=1for line in sys.stdin: uid,count=line:-1.split(t) if last

11、uid =: lastuid=uid if lastuid != uid: num+=1 lastuid=uidprint num(count的优化实现的优化实现 )-reduce基于Python MapReduce Streaming 快速并行编程一、单机测试head test.log | python map.py | python red.py一、将文件上传到集群/bin/hadoop fs -copyFromLocal test.log /hdfs/三、运行map red/bin/hadoop jar contrib/streaming/hadoop-streaming-0.20.20

12、3.0.jar -file /path/map.py -file /path/red.py -mapper map.py -reducer red.py -input /path/test.log -output /path/通过界面查看任务状态Python快速构建 数据分析模块 ComETL软件地址: https:/ Hive Mysql MapReduce 等模式作者:赵修湘极少的代码量,几万行吧!类似系统 Sqoop DataX OozieComEtl配置样例etl_op = run_mode:day, delay_hours:2, jobs:job_name:job1, analysi

13、s:etl_class_name:ExtractionEtl, step_name:mysql_e_1, db_type:hive, db_coninfo:db_ip:0,db_port:3306,db_user:jobs,db_passwd:hhxxttxs,db_db:test, db_path:test.a2, pre_sql:, post_sql:, data_save_type:SimpleOutput, sql_assemble:SimpleAssemble, sql:select * from test.a2 limit 30, , transform:et

14、l_class_name:TransformEtl, step_name:transform1, data_source:job_name:job1,step_name:mysql_e_1,data_field:, data_transform_type:SimpleTransform, , loading:etl_class_name:LoadingEtl, step_name:load1, data_source:job_name:job1,step_name:transform1, db_type:mysql, db_coninfo:db_ip:0,db_port:

15、3306,db_user:jobs,db_passwd:hhxxttxs,db_db:test, db_path:test.a2, pre_sql:, post_sql:, data_load_type:SplitLoad, data_field:a|b, Pig内嵌JPython 实现PageRank算法JPython+pig 代码实现演示https:/ MapReduce框架 Pydoop - Python API for Hadoop MapReduce and HDFShttp:/ Happy - http:/ datafu -Pig算法库 linkedin https:/ 总空间30

16、0T以上, 每日新增数据2T 20+ 服务器的Hadoop/hive计算平台 单个任务优化从 7个小时到 1个小时 每日 Hive 查询 1200+ 每天处理3000+作业任务 每天处理10T+数据集群资源利用率集群资源利用率Page 40Hadoop集群监控 Cacti默认Cacti模板太少增加模板我们的模板磁盘IO内存详情单个内核使用CPU总和及IOWaitJMX支持监控HadoopHAProxy+Hive 网络拓扑QueriesHAProxyHAProxyHiveHiveHiveHiveHadoopHAProxy+Hive高可用集群数据平台 技术路线发展Python Hadoop最佳实践

17、通过Tornado Nginx 接受日志通过Scribe 同步数据使用Python 编写加载和清洗脚本使用ComEtl 通过Hive做ETL参考HappyEtl,Pydoop编写Python Streaming使用CronHub 做定时调度使用phpHiveAdmin 提供自助查询使用 Mysql 存储中间结果通过Tornado+highcharts/gnuplot 提供报表展现使用 Python + Nagios Cacti Ganglia 监控集群整体构建在 Hadoop+Hive+pig 基础平台之上。参加EasyHadoop 聚会学习使用EasyHadoop管理集群Hadoop JAV

18、A 数据最佳实践通过 Nginx+ tomcat 接受日志通过 Scribe,Flume-Ng同步数据使用Jython编写加载和清洗脚本使用Sqoop,DataX通过Hive做ETL参考Java MapReduce API编写程序使用CronHub 做定时调度使用phpHiveAdmin+hive+haproxy 提供自助查询使用 Mysql/Oracle存储中间结果通过Spring+struts+highcharts/gnuplot/JFreeChart 提供报表展现使用 Python + Nagios Cacti Ganglia 监控集群整体构建在 Hadoop+Hive+Pig 基础平台

19、之上。参加EasyHadoop 聚会学习使用Cloudera Manager管理集群基于云平台构建的集群性能?HD Cluster: 80 Core,180GHZ,10TB 20*Aliyun Standard C Cloud Server4G RAM,4Core*2.26GHz500GBHadoop/Hive Cluster aliyun User-phpHiveAdmin-HiveServer-Hadoop用EasyHadoop 安装和管理节点启动100个Map生成100亿数据 通过100个Map用 Perl 随机生成数据 准备,1kw,1亿,10亿,100亿,100GB数据集 通过Hiv

20、e创建测试库表结构 使用phpHiveadmin+HQL查询返回结果PhpHiveAdmin 界面查询SELECT id FROM Table where id like %JA-sq%;(模糊匹配查询出ID 带 JA-sq 的车牌号)1亿 数据,并行5 Map进程,144w/s 扫描速度,69s 返回10亿数据,并行46 Map进程,800w/s 扫描速度,117s 返回100亿数据,并行453Map进程,5400w/s 扫描速度,3分钟返回,基本满足需求。SELECT id,COUNT(*) FROM Table GROUP BY id(对每个车牌号分组归并,并求出现次数)1亿 数据,并行

21、5 Map进程,2 Reduce进程,104w/s 处理速度,96s 返回10亿数据,并行46Map进程,13Reduce进程,230w/s 处理速度,7分钟返回100亿数据,并行453Map进程,121Reduce进程,500w/s 处理速度,54分钟返回。Hadoop预算解析其他方案的成本对比!投入成本 (10TB预算) IOE(IBM+Oracle+EMC)时代 (x)kw+ 自建Hadoop集群 (20*4w+4w)=80w+ 使用云主机构建Hadoop 20*7970=15.94w/年转变转变千万时代百万时代十几万时代初创型公司中型技术型公司政府,银行,电信年成本:1.5w/T我们还有那些成本压缩空间我们还有那些成本压缩空间?实施周期 IBM+Oracle+EMC 时代(月) 自建Hadoop集群(1年-半年)学习和培训 阿里云Hadoop时代(星期/月)转变转变季度/月1年/半年月/星期个人,初创公司中型公司政

温馨提示

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

评论

0/150

提交评论