版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中科普开HADOOP大数据课程运用Hadoop开源技术
推动大数据落地大数据开源技术分析EasyHadoop社区创始人童小军tongxiaojun@EasyHadoop简介EasyHadoop让大数据更简单【软件社区】起源:一键Hadoop安装脚本。发展:暴风,蓝讯,优酷,亿赞普,人民搜索【聚会】立足:中小型,可落地的,10-500节点技术经验分享致力于在中国推广和普及Hadoop相关技术EasyHadoopOpenSourceCommunity个人介绍2012年5月2日-第一个在国内成功通过Cloudera认证考试,成为首位在国内获得美国Cloudera公司认证的ApacheHadoop开发工程师(ClouderaCertifiedDeveloperforApacheHadoop,CCDH)。作为ApacheHadoop在中国商业化的开始的标志。被列入Hadoop百度百科,Hadoop大事记中。详见:/view/908354.htm社区Hadoop技术电子出版物EasyHadoop实战手册:Hadoop企业级部署实施指南EasyHive手册:Hive企业实施指南EasyHadoop社区技术聚会成功举办了七次Hadoop开发者活动。暴风、蓝讯、百度、淘宝、腾讯、阿里巴巴、
人民搜索、亿赞普等一线开发者的分享经验。我们如何才能做的更好?培训目标熟悉HADOOP应用背景123了解Hadoop应用案例了解Hadoop技术最佳实践培训目录大数据和数据仓库概述1Hadoop应用案例和云平台2Hadoop数据仓库[python/java]最佳实践3数据可视化案例4基于数据仓库平台改造变迁5阿里金融通过大数据整合掘金! 阿里金融的信用评估系统会自动分析小微企业的数据,例如企业通过支付宝,淘宝进行的支付数据,最终算出信用评估和放贷额度。 截止2011年底,阿里金融对近30万家小微企业进行信用评估。累计投放96800家,投放贷款154亿,坏账率为交易额的0.76%。阿里金融的实时业务墙阿里金融的数据模型任务(局部)每个模型任务都是面向海量数据的大规模运算任务。天猫/淘宝双十一191亿背后的开源技术?@dbatools:双十一一天时间,支付宝核心数据库集群处理了41亿个事务,执行285亿次SQL,访问1931亿次内存数据块,13亿个物理读,生成15TB日志。数据应用开发平台——数据工场
Hive报表需求(淘数据)Hbase即席查询(adhoc)数据分析数据挖掘数据产品淘宝数据云梯平台-产品架构实时计算
底层平台数据开发平台数据应用是需求驱动技术,技术带动需求?思考-云计算技术有两极3200台主机Hadoop解决了什么难题?移动计算而非移动数据,化整为零,分片处理。本地化计算,并行IO,降低网络通信思考-数据分析系统的基本指标思考-数据分析系统的基本指标海量用户大规模批量服务(服务1.0)
决策逻辑
数据库用户1逻辑1逻辑N数据集编辑人员用户N
编辑逻辑信息生产者信息消费者Mysql/Oracle
大数据仓库海量用户大规模个性化服务(服务2.0)
决策逻辑
大数据库用户1逻辑1服务数据1用户N逻辑N服务数据N原始数据N挖掘逻辑NHiveHbaseStormHadoop原始数据1原始数据2信息生产者/消费者规则制定上帝之手本质:智能组织->智能群体实时思考-数据分析系统的基本指标反馈决策周期!快反馈决策粒度!细反馈决策准确性!准
反馈总体成本!廉价数据统计/分析是一个组织
自动控制,自学习,自调整系统核心组成部分。机会成本!想象空间!Hadoop前的数据仓库流程反馈决策周期!快?反馈决策粒度!细?反馈决策准确性!准?
反馈总体成本!廉价?perl,shell,awkHadoop后的数据仓库流程反馈决策周期!快?反馈决策粒度!细?反馈决策准确性!准?
反馈总体成本!廉价?持续扩展成本?Hql,Pig,Mapreduce,工作流
那些用户需要Hadoop(合)技术?
案例解析UserCase1(网页游戏)国内网页游戏厂商百个服/网页游戏,30-50个库/服10G用户数据/天/游戏[十几款游戏]场景:游戏玩家行为分析其他平台:数据无法导出中间数据汇总丢弃,无法用户级分析UserCase2(智慧交通)用户:最大城市,交通领域(Citytraffic)场景:车牌记录[CarLicencePlate],100亿[10Billion]/年需求:小时级别->优化到分钟级[Minute]->未来优化到秒级[Seconds]查询IntelligentTransportationSmarterCities场景:车辆异常快速识别VehicleAbnormal交通安全问题Hadoop技术其他应用领域电信医疗交通公安航空电力金融搜索社交游戏视频民生核心基于hadoop的数据平台总体架构Python结合HadoopStreaming
原理解析MapReduce基本流程实现distinct一、日志格式:{0E3AAC3B-E705-4915-9ED4-EB7B1E963590}{FB11E363-6D2B-40C6-A096-95D8959CDB92}{06F7CAAB-E165-4F48-B32C-8DD1A8BA2562}{B17F6175-6D36-44D1-946F-D748C494648A}{06F7CAAB-E165-4F48-B32C-8DD1A8BA2562}{B17F6175-6D36-44D1-946F-D748C494648A}B11E363-6D2B-40C6-A096-95D8959CDB9217F6175-6D36-44D1-946F-D748C494648AE3AAC3B-E705-4915-9ED4-EB7B1E9635906F7CAAB-E165-4F48-B32C-8DD1A8BA25624使用python实现distinct/count一、日志格式:{0E3AAC3B-E705-4915-9ED4-EB7B1E963590}{FB11E363-6D2B-40C6-A096-95D8959CDB92}{06F7CAAB-E165-4F48-B32C-8DD1A8BA2562}{B17F6175-6D36-44D1-946F-D748C494648A}{06F7CAAB-E165-4F48-B32C-8DD1A8BA2562}{B17F6175-6D36-44D1-946F-D748C494648A}B11E363-6D2B-40C6-A096-95D8959CDB9217F6175-6D36-44D1-946F-D748C494648AE3AAC3B-E705-4915-9ED4-EB7B1E9635906F7CAAB-E165-4F48-B32C-8DD1A8BA25624 importsys forlineinsys.stdin: try: flags=line[1:-2] str=flags+'\t'+'1' printstr exceptException,e: printe#!/usr/bin/pythonimportsysres={} forlineinsys.stdin:try:flags=line[:-1].split('\t')iflen(flags)!=2:continuefield_key=flags[0]ifres.has_key(field_key)==False:res[field_key]=[0]res[field_key][0]=1exceptException,e:passforkeyinres:printkey
(distinct\count)--map(distinct)--red#!/usr/bin/pythonimportsyslastuid=""num=1forlineinsys.stdin:uid,count=line[:-1].split('\t')iflastuid=="":lastuid=uidiflastuid!=uid:num+=1lastuid=uidprintnum
(count的优化实现)--reduce基于PythonMapReduceStreaming快速并行编程一、单机测试 headtest.log|pythonmap.py|pythonred.py一、将文件上传到集群 /bin/hadoop fs-copyFromLocaltest.log/hdfs/三、运行mapred/bin/hadoopjarcontrib/streaming/hadoop-streaming-.jar-file/path/map.py-file/path/red.py-mappermap.py
-reducerred.py-input /path/test.log-output/path/通过界面查看任务状态Python快速构建数据分析模块ComETL软件地址:/zhuyeqing/ComETL1.支持简单工作流2.支持自动恢复3.支持自定义驱动4.支持HiveMysqlMapReduce等模式作者:赵修湘极少的代码量,几万行吧!类似系统SqoopDataXOozieComEtl配置样例etl_op={"run_mode":'day',"delay_hours":2,"jobs":[{"job_name":"job1","analysis":[{'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*fromtest.a2limit30',},],"transform":[{'etl_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':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代码实现演示/julienledem/Pig-scripting-examples/blob/其他PythonMapReduce框架Pydoop-PythonAPIforHadoopMapReduceandHDFS/docs/Happy-/p/happy/datafu-Pig算法库linkedin/linkedin/datafu总体数据规模总空间150T以上,
每日新增数据0.5T20+服务器的Hadoop/hive计算平台单个任务优化从7个小时到1个小时每日Hive查询1200+每天处理3000+作业任务每天处理10T+数据集群资源利用率Page
46Hadoop集群监控Cacti默认Cacti模板太少
增加模板
我们的模板
磁盘IO
内存详情
单个内核使用
CPU总和及IOWait
JMX支持监控Hadoop
HAProxy+Hive网络拓扑QueriesHAProxyHAProxyHiveHiveHiveHiveHadoopHAProxy+Hive高可用集群数据平台技术路线发展PythonHadoop最佳实践通过TornadoNginx接受日志通过Scribe同步数据使用Python编写加载和清洗脚本使用ComEtl通过Hive做ETL参考HappyEtl,Pydoop编写PythonStreaming使用CronHub做定时调度使用phpHiveAdmin提供自助查询使用Mysql存储中间结果通过Tornado+highcharts/gnuplot提供报表展现使用Python+NagiosCactiGanglia监控集群整体构建在Hadoop+Hive+pig基础平台之上。参加EasyHadoop聚会学习使用EasyHadoop管理集群HadoopJAVA数据最佳实践通过
Nginx+tomcat接受日志通过Scribe,Flume-Ng同步数据使用Jython编写加载和清洗脚本使用Sqoop,DataX通过Hive做ETL参考JavaMapReduceAPI编写程序使用CronHub做定时调度使用phpHiveAdmin+hive+haproxy提供自助查询使用Mysql/Oracle存储中间结果通过Spring+struts+highcharts/gnuplot/JFreeChart提供报表展现使用Python+NagiosCactiGanglia监控集群整体构建在Hadoop+Hive+Pig基础平台之上。参加EasyHadoop聚会学习使用ClouderaManager管理集群基于云平台构建的集群性能?HDCluster:80Core,180GHZ,10TB20*AliyunStandardCCloudServer4GRAM,4Core*2.26GHz500GBHadoop/HiveCluster@aliyunUser->phpHiveAdmin->HiveServer->Hadoop用EasyHadoop安装和管理节点启动100个Map生成100亿数据通过100个Map用Perl随机生成数据准备,1kw,1亿,10亿,100亿,100GB数据集通过Hive创建测试库表结构使用phpHiveadmin+HQL查询返回结果PhpHiveAdmin界面查询SELECTidFROM
Tablewhereidlike'%JA-sq%';
(模糊匹配查询出ID带JA-sq的车牌号)1亿数据,并行5Map进程,144w/s扫描速度,69s返回10亿数据,并行46Map进程,800w/s扫描速度,117s返回100亿数据,并行453Map进程,5400w/s扫描速度,3分钟返回,基本满足需求。SELECTid,COUNT(*)FROMTable
GROUP
BYid
(对每个车牌号分组归并,并求出现次数)1亿数据,并行5Map进程,2Reduce进程,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[2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年光热电站运维工程师技能要求
- 2026年事故遇难者家属安抚与赔偿谈判技巧
- 2026年农贸市场快检室建设与运行
- 2026年方便面行业定制化产品需求发展趋势
- 2026年校园文创产品校园植物主题产品
- 2025湖北省中考语文真题(解析版)
- 2026年生物质发电锅炉高温腐蚀防护
- 2026年计算机专业高级职称评定项目成果描述模板
- 2026年建筑工程施工质量验收统一标准及流程
- 2026年储能项目投融资法律风险
- 恒丰银行总行公司招聘笔试题库2026
- 2026年考研心理学专业基础真题及详解
- 2026年4月自考00600高级英语试题
- 2026江西省铁路航空投资集团有限公司第一批社会招聘23人笔试备考题库及答案详解
- 2026年广东省惠州市中考历史一模试卷(含答案)
- 武汉市2026届高三年级四月供题(武汉四调)语文试卷
- 地产集团商业项目招商管理办法
- 风电场工程施工质量验收项目策划划分表
- 煤化工技术-李伟
- 丰田普锐斯混合动力汽车PPT通用课件
- 古诗接龙100首
评论
0/150
提交评论