一文看懂大数据技术—光环大数据培训.pdf

一文看懂大数据技术—光环大数据培训.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一文看懂大数据的技术生态圈 大数据本身是个很宽泛的概念,Hadoop 生态圈(或者泛生态圈)基本上都是 为了处理超过单机尺度的数据处理而诞生的。你可以把它比作一个厨房所以需 要的各种工具。锅碗瓢盆,各有各的用处,互相之间又有重合。你可以用汤锅 直接当碗吃饭喝汤,你可以用小刀或者刨子去皮。但是每个工具有自己的特 性,虽然奇怪的组合也能工作,但是未必是最佳选择。 大数据,首先你要能存的下大数据。 传统的文件系统是单机的,不能横跨不同的机器。HDFS (Hadoop Distributed FileSystem)的设计本质上是为了大量的数据能横跨成百上千台机器,但是你 看到的是一个文件系统而不是很多文件系统。比如你说我要获取/hdfs/tmp/file1 的数据,你引用的是一个文件路径,但是实际的数据存放在很多不同的机器 上。你作为用户,不需要知道这些,就好比在单机上你不关心文件分散在什么 磁道什么扇区一样。HDFS 为你管理这些数据。 存的下数据之后,你就开始考虑怎么处理数据。 想拿高薪,选对行业很重要!学大数据开发,工资高,前景好,发展空间大! 虽然HDFS 可以为你整体管理不同机器上的数据,但是这些数据太大了。一台 机器读取成T 上P 的数据(很大的数据哦,比如整个东京热有史以来所有高清 电影的大小甚至更大),一台机器慢慢跑也许需要好几天甚至好几周。对于很 多公司来说,单机处理是不可忍受的,比如微博要更新24 小时热博,它必须 在24 小时之内跑完这些处理。那么我如果要用很多台机器处理,我就面临了 如何分配工作,如果一台机器挂了如何重新启动相应的任务,机器之间如何互 相通信交换数据以完成复杂的计算等等。这就是MapReduce / Tez / Spark 的 功能。MapReduce 是第一代计算引擎,Tez 和Spark 是第二代。MapReduce 的设计,采用了很简化的计算模型,只有Map 和Reduce 两个计算过程(中间 用Shuffle 串联),用这个模型,已经可以处理大数据领域很大一部分问题 了。 那什么是Map 什么是Reduce? 考虑如果你要统计一个巨大的文本文件存储在类似HDFS 上,你想要知道这个 文本里各个词的出现频率。你启动了一个MapReduce 程序。Map 阶段,几百 台机器同时读取这个文件的各个部分,分别把各自读到的部分分别统计出词 频,产生类似(hello, 12100 次),(world ,15214 次)等等这样的Pair (我 这里把Map 和Combine 放在一起说以便简化);这几百台机器各自都产生了 如上的集合,然后又有几百台机器启动Reduce 处理。Reducer 机器A 将从 Mapper 机器收到所有以A 开头的统计结果,机器B 将收到B 开头的词汇统计 结果(当然实际上不会真的以字母开头做依据,而是用函数产生Hash 值以避 免数据串化。因为类似X 开头的词肯定比其他要少得多,而你不希望数据处理 各个机器的工作量相差悬殊)。然后这些Reducer 将再次汇总,(hello, 12100 )+(hello,12311)+(hello,345881 )= (hello,370292 )。每 个Reducer 都如上处理,你就得到了整个文件的词频结果。 这看似是个很简单的模型,但很多算法都可以用这个模型描述了。 Map+Reduce 的简单模型很黄很暴力,虽然好用,但是很笨重。第二代的Tez 和Spark 除了内存Cache 之类的新feature ,本质上来说,是让Map/Reduce 模型更通用,让Map 和Reduce 之间的界限更模糊,数据交换更灵活,更少的 磁盘读写,以便更方便地描述复杂算法,取得更高的吞吐量。 有了MapReduce,Tez 和Spark 之后,程序员发现,MapReduce 的程序写起 来真麻烦。他们希望简化这个过程。这就好比你有了汇编语言,虽然你几乎什 想拿高薪,选对行业很重要!学大数据开发,工资高,前景好,发展空间大! 么都能干了,但是你还是觉得繁琐。你希望有个更高层更抽象的语言层来描述 算法和数据处理流程。于是就有了Pig 和Hive。Pig 是接近脚本方式去描述 MapReduce,Hive 则用的是SQL 。它们把脚本和SQL 语言翻译成 MapReduce 程序,丢给计算引擎去计算,而你就从繁琐的MapReduce 程序中 解脱出来,用更简单更直观的语言去写程序了。 有了Hive 之后,人们发现SQL 对比Java 有巨大的优势。一个是它太容易写 了。刚才词

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档