用通俗易懂的话说下hadoop是什么,能做什么
(1)Hadoop是一个开源的框架,可编写和运行分布式应用处理大规模数据,是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。用函数式变成Mapreduce代替SQL,SQL是查询语句,而Mapreduce则是使用脚本和代码,而对于适用于关系型数据库,习惯SQL的Hadoop有开源工具hive代替。
(2)Hadoop就是一个分布式计算的解决方案。
hadoop能做什么?
hadoop擅长日志分析,facebook就用Hive来进行日志分析,2009年时facebook就有非编程人员的30%的人使用HiveQL进行数据分析;淘宝搜索中的自定义筛选也使用的Hive;利用Pig还可以做高级的数据处理,包括Twitter、LinkedIn 上用于发现您可能认识的人,可以实现类似Amazon.com的协同过滤的推荐效果。淘宝的商品推荐也是!在Yahoo!的40%的Hadoop作业是用pig运行的,包括垃圾邮件的识别和过滤,还有用户特征建模。(2012年8月25新更新,天猫的推荐系统是hive,少量尝试mahout!)
下面举例说明:
设想一下这样的应用场景. 我有一个100M 的数据库备份的sql 文件.我现在想在不导入到数据库的情况下直接用grep操作通过正则过滤出我想要的内容。例如:某个表中 含有相同关键字的记录那么有几种方式,一种是直接用linux的命令 grep 还有一种就是通过编程来读取文件,然后对每行数据进行正则匹配得到结果好了 现在是100M 的数据库备份.上述两种方法都可以轻松应对.
那么如果是1G , 1T 甚至 1PB 的数据呢 ,上面2种方法还能行得通吗? 答案是不能.毕竟单台服务器的性能总有其上限.那么对于这种 超大数据文件怎么得到我们想要的结果呢?
有种方法 就是分布式计算, 分布式计算的核心就在于 利用分布式算法 把运行在单台机器上的程序扩展到多台机器上并行运行.从而使数据处理能力成倍增加.但是这种分布式计算一般对编程人员要求很高,而且对服务器也有要求.导致了成本变得非常高.
Haddop 就是为了解决这个问题诞生的.Haddop 可以很轻易的把 很多linux的廉价pc 组成 分布式结点,然后编程人员也不需要知道分布式算法之类,只需要根据mapreduce的规则定义好接口方法,剩下的就交给Haddop. 它会自动把相关的计算分布到各个结点上去,然后得出结果.
例如上述的例子 : Hadoop 要做的事首先把 1PB的数据文件导入到 HDFS中, 然后编程人员定义好 map和reduce, 也就是把文件的行定义为key,每行的内容定义为value , 然后进行正则匹配,匹配成功则把结果 通过reduce聚合起来返回.Hadoop 就会把这个程序分布到N 个结点去并行的操作.
那么原本可能需要计算好几天,在有了足够多的结点之后就可以把时间缩小到几小时之内.
这也就是所谓的 大数据、云计算了。如果还是不懂的话再举个简单的例子
比如 1亿个 1 相加 得出计算结果,,我们很轻易知道结果是1亿,但是计算机不知道,那么单台计算机处理的方式做一个一亿次的循环每次结果+1
那么分布式的处理方式则变成 我用 1万台计算机,每个计算机只需要计算1万个 1 相加,然后再有一台计算机把1万台计算机得到的结果再相加,从而得到最后的结果。理论上讲,,计算速度就提高了 1万倍. 当然上面可能是一个不恰当的例子。但所谓分布式,大数据,云计算 大抵也就是这么回事了。
经管之家(原人大经济论坛)推出CDA大数据分析师脱产就业班培训(http://cda.pinggu.org/bigdata-jy.html),以大数据分析师为目标,从数据分析基础、JAVA语言入门和linux操作系统入门 知识学起,系统介绍Hadoop、HDFS、MapReduce和Hbase等理论知识和hadoop的生态环境,详细演示hadoop三种模式的安装配 置,以案例的形式,重点讲解基于mahout项目的大数据分析之聚类、分类以及主题推荐。重点培养基于Hadoop架构的大数据分析思想及架构设计,通过演示实际的大数据 分析案例,使学员能在较短的时间内理解大数据分析的真实价值,掌握如何使用hadoop架构应用于大数据分析过程,使学员能有一个快速提升成为兼有理论和 实战的大数据分析师,从而更好地适应当前互联网经济背景下对大数据分析师需求的旺盛的就业形势。
北京现场&远程直播
时间 | 课程 | 大纲简介 |
第一阶段 | 系统基础篇 15天 | 1.开学典礼及大数据概述 1天 2.linux操作系统及 2天 3.unbuntu系统介绍 1天 4.JAVA基础 5天 5.python基础 4天 6.hadoop单机、伪分布、集群搭建 2天 |
第二阶段 | hadoop生态实战篇 15天 | 1.HDFS深入剖析 1天 2.MapReduce基础理论及高级编程实战 3天 3.Pig原理,部署与Pig Latin语言,应用案例 1天 4.Hive体系架构、安装与HiveQL及Hive应用案例 3天 5.Zookeeper与分布式系统开发 1天 6.HBase体系架构,集群部署,管理 2天 7.HBase数据模型,实战案例建模剖析 3天 8.strom入门及部署 1天 |
第三阶段 | 数据分析理论篇 15天 | 1.SPSS软件入门 1天 2.数据分析之统计基础(使用软件为SPSS) 4天 3.R软件操作入门 1天 4.数据挖掘之聚类(使用软件为R) 3天 5.数据挖掘之分类(使用软件为R) 4天 6.数据挖掘之关联规则(使用软件为R)2天 |
第四阶段 | 大数据分析案例篇 15天 | 1.大数据可视化技术及工具简介 1天 2.大数据背景下隐私保护及技术介绍 1天 3.大数据的分析方法--SMART模型介绍 1天 4.基于hadoop+Mahout的8个大数据分析案例实战 2天 5.Spark基础原理、集群安装并运行Spark 2天 6.Spark SQL 原理及数据整合应用 2天 7.Spark GraphX图计算方法应用 1天 8.Spark 推荐应用(ALS方法,FP-growth方法)2天 9.Spark 数据建模流程(logistics回归,决策树,朴素贝叶斯方法)3天 |
第五阶段 | 毕业篇 6天 | 1.毕业设计 5天 2.毕业典礼 1天 |
第一期八天班试听视频:http://www.tudou.com/programs/view/96FhjLBDp1o/
大数据环境配置干货:http://www.tudou.com/programs/view/CS3KvXCXRik/
大数据爱好者可加群:369063810(学习交流)备注姓名
【咨询方式】
(张老师)
座机:010-68456523
QQ:2881989712
手机:13718534278
邮箱:zhangwei@pinggu.org
(樊老师)
电话:010+68472707
手机:18611083334
QQ:2881989705