Hadoop到底能做什么?怎么用hadoop? 与 R语言简介 以及 MapReduce

调研Hadoop颇久,就是想知道hadoop是什么?hadoop能做什么?怎么用hadoop?最主要是这三块,至于投入和风险也会随之出来 (浓缩了我几十页的调研方案啊!!!)

  1. hadoop是什么?

    Hadoop是一个开源的框架,可编写和运行分不是应用处理大规模数据,是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。用函数式变成Mapreduce代替SQL,SQL是查询语句,而Mapreduce则是使用脚本和代码,而对于适用于关系型数据库,习惯SQL的Hadoop有开源工具hive代替。

  2. hadoop能做什么?

    hadoop擅长日志分析,facebook就用Hive来进行日志分析,2009年时facebook就有非编程人员的30%的人使用HiveQL进行数据分析;淘宝搜索中的自定义筛选也使用的Hive;利用Pig还可以做高级的数据处理,包括Twitter、LinkedIn 上用于发现您可能认识的人,可以实现类似Amazon.com的协同过滤的推荐效果。淘宝的商品推荐也是!在Yahoo!的40%的Hadoop作业是用pig运行的,包括垃圾邮件的识别和过滤,还有用户特征建模。(2012年8月25新更新,天猫的推荐系统是hive,少量尝试mahout!)

  3. hadoop能为我做什么?
    零数据基础,零数据平台,一切起点都是0。
  • 日志处理
  • 用户细分特征建模
  • 个性化广告推荐
  • 智能仪器推荐
     一切以增 加企业的商业价值为核心目的、最终目的

     4. 怎么用hadoop?
  • hadoop的应用的在我司还属于研发型项目,拟用日志的分析来走通一次流程,因为此阶段目前来说还不需要数据挖掘的专业人员,在数据分析阶段即可,而系统有数据库工程师,Mapreduce有java开发工程师,而分析由我本人介入,而可视化暂时可由前端JS实现,本来我的调研方案,针对大数据的解决方案是hadoop+R的,但是对于R我们是完全不懂,在公司还没有大量投入人员的情况下,只有日志分析目前看来是最容易出成果的,也是可以通过较少人员能出一定成果的,所以选取了这个方向作为试点。

    首先要进行数据的存储,一是要协调上游的服务厂商,关于日志的抓取,二是hadoop系统的搭建,目前已经在紧张的筹备中了



R语言简介
R语言是一种为统计计算和图形显示而设计的语言环境,是贝尔实验室(Bell Laboratories)的Rick Becker、John Chambers和Allan Wilks开发的S语言的一种实现,提供了一系列统计和图形显示工具。S语言也是目前比较流行的统计软件S-PLUS的基础。
R语言的创始人Ross Ihaka和Robert Gentleman,由于这两位“R之父”的名字都是以R开头,所以就称之为R语言。
R语言是一组数据操作,计算和图形显示工具的环境。相对于其它同类软件(如Matlab, SAS, SPSS, SPlus),其特色在于:
1.有效的数据处理和保存机制。
2.拥有一整套数组和矩阵的操作运算符。
3.一系列连贯而又完整的数据分析中间工具。
4.图形统计可以对数据直接进行分析和显示,可用于多种图形设备。
5.一种相当完善、简洁和高效的程序设计语言。它包括条件语句、循环语句、用户自定义的递归函数以及输入输出接口。
6.R语言是彻底面向对象的统计编程语言。
7.R语言和其它编程语言、数据库之间有很好的接口。
8.R语言是自由软件,可以放心大胆地使用,但其功能却不比任何其它同类软件差。
9.R语言具有丰富的网上资源,更为重要的一点是R提供了非常丰富的程序包,除了推荐的标准包外还有很多志愿者贡献的附加包,可以直接利用这些包,大大提高工作效率。R语言的官网是 http://www.r-project.org,与R语言有关的重要网站还有CRAN(Comprehensive R Archive Network),其主站网址是: http://www.cran.r-project.org/,可以下载到很多程序包以及有关R语言的资料。


R语言与统计、计量
R语言具有丰富的统计方法,大多数人使用R语言是因为其具有强大的 统计功能。不过对R语言比较准确的认识是一个内部包含了许多经典统计技术的环境。部分的统计功能是整合在R环境的底层,但是大多数统计功能则以包的形式提供。大约有25个包和R同时发布,也被称为标准包,如果要想得到更多的其它包,可以在R的中国镜像里找到(http://www.lmbe.seu.edu.cn/CRAN/),镜像里除了有各种包以外,还提供了其它比如关于R使用的一些资料。大多数经典的统计方法和最新的技术都可以在R中直接得到,终端用户只要花点时间去寻找就可以了。
R语言的统计分析过程常常被分解成一系列步骤,并且所有的中间结果都被保存在对象(Object)中,以便使用R里面的函数做进一步的分析。虽然SAS、SPSS也提供了丰富的屏幕输出内容,但其中间结果很难在后续过程中分析使用。
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。
与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者(用户)能灵活地进行数据分析,甚至创造出符合需要的新的统计计算方法。
目前国外绝大多数的统计和计量经济学研究人员以及实业界人士都选择R软件!

对R几点理解:
1、R的好处不仅仅在于其 免费,更重要的在于其是 开源,灵活,更新速度快,集思广益。而且R有点像是一种网络,用的人越多,贡献的人也越多,这样其的价值就成几何级数上升。我以前用过几乎所有的统计软件,但自从学会R,目前几乎只用R做分析。我相信很多人都有这种情形。

2、很多软件只是一个黑箱子,数据丢进去,结果出来。这样的结果,你会放心吗?而且这样学习,你根本不懂计量、统计背后真正的含义。可以这样说,永远别想真正学会统计思想,你的统计分析只是依样画葫芦,有时画得很像,但不懂神韵!

3、R初学确实有点难懂,但R的编程思想非常简单,几乎就是写数学公式一样简单,学过C和C++等低层语言就会知道R的编程是如此之简单,R是一种面向对象的高级语言。R入门者其实只要有人稍加指点,很快学会其基本操作!

4、R是一种趋势,如果和国外搞计量、搞统计的教授接触,应该知道现在大部分的教授都在用R,国内用R还只是一小部分,发展趋势一定是其他软件无法比拟的!

MapReduce
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在 分布式系统 上。 当前的 软件 实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值