爱吧机器人网 » 技术 > 大数据 > 正文

Coursera 数据工程师分享大数据的迷离身世

亚马逊还是不断创新,每年召开 reInvent 大会推广新的云产品和分享成功案例,在这里面我随便说几个,像 S3 是简单面向对象的存储,DynamoDB 是对关系型数据库的补充,Glacier 对冷数据做归档处理,Elastic MapReduce 直接对 MapReduce 做打包提供计算服务,EC2 就是基础的虚拟主机,Data Pipeline 会提供图形化界面直接串联工作任务。

这边还可以说一下 Redshift,它是一种(Massively Parallel Computer)架构,是非常方便的数据仓库解决方案,就是 SQL 接口,跟各个云服务无缝连接,最大特点就是快,在 TB 到 PB 级别非常好的性能,我在工作中也直接使用,它还支持不同硬件平台,如果想速度更快,可以使用 SSD 的,当然支持容量就小些。

在数据库领域,我就列出三种代表,一类是关系型数据库管理系统,它的特点是 A(Atomic)、C(consistent)、I(isolation)、D(duration),连起来就是 ACID(酸)。简单说,就是支持事务回滚和外键关联,而 NoSQL 是与之对应的 Base(碱),所谓 Basic 可用,为了扩大 Scale,牺牲一些一致性和事务。而谷歌提出 F1,希望解决在大规模数据同时还要做到事务强一致性。在这里面都是非常常见的 NoSQL, 这些公司可能你都没听过,但它们都是融资过亿,估值都非常高,在几个 Billion 以上。

我会花一些篇幅介绍 Hadoop,首先看 Hadoop 从哪里开始的,不得不提谷歌的先进性,在 10 多年前,谷歌出了 3 篇论文论述分布式系统的做法,分别是 GFS、MapReduce、BigTable,非常牛逼的系统,但没人见过,在工业界很多人痒痒的,就想按其思想去仿作。

当时,Apache Nutch Lucene 作者 Doug Cutting 也是其中之一,后来他们被雅虎收购,专门成立团队去投入做,就是 Hadoop 的开始和大规模发展的地方,之后随着雅虎衰落,牛人去了 Facebook、谷歌,也有成立 Cloudera、Hortonworks 等大数据公司,把 Hadoop 的实践带到各个硅谷公司。

而谷歌还没停止,又出了新的三辆马车:Pregel、Caffeine 和 Dremel,后来又有很多步入后尘,开始新一轮开源大战。

那么为啥 Hadoop 就比较适合做大数据呢?首先扩展很好,直接通过加节点就可以把系统能力提高,它有个重要思想是:移动计算而不是移动数据,因为数据移动是很大的成本需要网络带宽。

其次,它提出的目标就是利用廉价普通计算机(硬盘),这样虽然可能不稳定(磁盘坏的几率),但通过系统级别上的容错和冗余达到高可靠性。并且非常灵活,可以使用各种data,二进制、文档型、记录型。使用各种形式(结构化、半结构化、非结构化所谓的schemaless),在按需计算上也是个技巧。

另一个问题,我们提到 Hadoop 一般不会说某个东西,而是指生态系统,在这里面太多交互的组件了,涉及到 IO、处理、应用、配置、工作流。在真正的工作中,当几个组件互相影响,你的头疼的维护才刚刚开始。

我也简单说几个:Hadoop Core 就三个 HDFS、MapReduce、Common,在外围有 NoSQL: Cassandra、HBase,有 Facebook 开发的数据仓库 Hive,有雅虎主力研发的 Pig 工作流语言,有机器学习算法库 Mahout,工作流管理软件 Oozie,在很多分布式系统选择 Master 中扮演重要角色的 Zookeeper.

下面是 Hortonworks 提出的数据平台,这个公司比较强势,它有最多的 Hadoop Committee 成员,是真正的标准制定者,而 2.0 就是由它们提出。

\

在 Hadoop 1.0 前,是 0.16 到 0.19、0.20,还有一只是 0.23 进化成现在的 2.0,应该说,现在大致都被 2.0 取代了,主要区别是 1.0 只能支持 MapReduce 框架、资源和数据处理限制在一起。

而 2.0 首先抽象出 Yarn 这个资源管理器,然后上层可以支持各种插件机制,便于扩展,Hortonworks 还研发了 Tez 作为加速引擎把一些相关任务合并共享或者并行来优化。

下面这个是英特尔给出的 Hadoop Stack,英特尔也是个对技术前沿由追求的公司,虽然它主业是处理器,但在互联网的时代,为抓住一些软件机会,它们也在积极融合,为生态系统做贡献。

\

另外,Cloudera 是老牌 Hadoop 公司,成立 7、8 年了,当年 Hadoop 之父就是在那做首席架构,它提出的 CDH 版本是很多公司的稳定 Hadoop 版本,一般公司也不会自己去搭 Hadoop 最新版,否则出了 Bug 会很痛苦,它提供了一个打包方便部署。

涉及技术细节甚至源代码

下面内容涉及技术细节甚至源代码,可能有些枯燥,我也尽量深入浅出。我们先说 HDFS,所谓 Hadoop 的分布式文件系统,它是能真正做到高强度容错。并且根据 locality 原理,对连续存储做了优化。

简单说,就是分配大的数据块,每次连续读整数个。如果让你自己来设计分布式文件系统,在某机器挂掉还能正常访问该怎么做?首先需要有个 master 作为目录查找(这里就是 Namenode),那么数据节点是作为分割好一块块的,同一块数据为了做备份不能放到同一个机器上,否则这台机器挂了,你备份也同样没办法找到。

HDFS 用一种机架位感知的办法,先把一份拷贝放入同机架上的机器,然后在拷贝一份到其他服务器,也许是不同数据中心的,这样如果某个数据点坏了,就从另一个机架上调用,而同一个机架它们内网连接是非常快的,如果那个机器也坏了,只能从远程去获龋这是一种办法,现在还有基于 erasure code 本来是用在通信容错领域的办法,可以节约空间又达到容错的目的,大家感兴趣可以去查询。

接着说 MapReduce,首先是个编程范式,它的思想是对批量处理的任务,分成两个阶段,所谓的 Map 阶段就是把数据生成 key、value pair 再排序,中间有一步叫 shuffle,把同样的 key 运输到同一个 reducer 上面去,而在 reducer 上,因为同样 key 已经确保在同一个上,就直接可以做聚合,算出一些 sum, 最后把结果输出到 HDFS 上。对应开发者来说,你需要做的就是编写 Map 和 reduce 函数,像中间的排序和 shuffle 网络传输,容错处理,框架已经帮你做好了。但据说,谷歌内部早不用这种,又有新的强大工具出现了。

上一页1234下一页

上一篇:大数据带来的四种思维
下一篇:芝麻开门 大数据征信体系揭秘
精选推荐
2017年:AI渗入云端
2017年:AI渗入云端

[2017-12-29]  云中的人工智能不仅仅是科技巨头的权力游戏,它也可能是人工智能领域的下一个飞跃。加利福尼亚州的Rigetti Computing公司刚刚使用其原型量子芯片之一在其云平台上运行机器学......

MIT最新“人机”互连系统 让双腿机器人复制人体技能
MIT最新“人机”互连系统 让双腿机器人复制人体技能

[2019-11-01]  MIT的小爱马仕想借用你的大脑 ,图片来自: João Ramos爱吧机器人网消息,麻省理工学院(MIT)的研究人员展示了一种新型遥操作系 ...

人工智能准确预测患者一年内的死亡风险,原理却无法解释
人工智能准确预测患者一年内的死亡风险,原理却无法解释

[2019-11-13]  图片来自BURGER PHANIE SCIENCE PHOTO LIBRARY美国最新研究显示,人工智能通过查看心脏测试结果,以高达85%以上的准确率预测了一个人在一 ...

Crossbar将电阻式RAM推入嵌入式AI
Crossbar将电阻式RAM推入嵌入式AI

[2018-05-17]  电阻RAM技术开发商Crossbar表示,它已与航空航天芯片制造商Microsemi达成协议,允许后者在未来的芯片中嵌入Crossbar的非易失性存储器。此举是在先进制造业节点的领先代工厂选......

麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群
麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群

[2019-10-31]  几天前,小编向大家介绍过麻省理工(MIT)研发的一种自组装机器人集群(点此阅览),它们可以用统一标准的小单元自动组装出各种大型结构。 ...

南加州大学机器人学家:机器人更适合粗暴的爱
南加州大学机器人学家:机器人更适合粗暴的爱

[2019-11-07]  图片来自JOHN MADERE GETTY IMAGES打是疼骂是爱,当人类粗暴的将物体从机器人手中敲掉,看似残忍,实际上却能帮助机器人找到最好的握持物 ...

人工神经网络技术解码人类行为和想象时的大脑活动信号
人工神经网络技术解码人类行为和想象时的大脑活动信号

[2017-08-23]  为搜索引擎过滤信息,棋盘游戏对弈,识别图像 人工智能在某些任务中远远超过了人类智能。来自弗莱堡由神经科学家私人讲师Tonio Ball博士领导的几个杰出的BrainLinks-Bra......

英伟达用联合学习创建医学影像AI 可共享数据和保护隐私
英伟达用联合学习创建医学影像AI 可共享数据和保护隐私

[2019-10-14]  英伟达(Nvidia)和伦敦国王学院(King’s College London)的人工智能研究人员利用联合学习训练了一种用于脑肿瘤分类的神经网络, ...

本周栏目热点

做为一名大数据新手 应该通过这篇文章了解大数据

[2018-07-23]  一、大数据是什么?大数据,big data,《大数据》一书对大数据这么定义,大数据是指不能用随机分析法(抽样调查)这样捷径,而采用所有数据进 ...

BAT大数据野心:数据生产全链条浮现

[2016-07-12]   本报记者 周慧 北京报道导读以BAT为代表的中国 互联网 企业,在数据领域各有千秋,百度的搜索数据、阿里的电商数据、腾讯的社交数 ...

为什么说发展大数据是有道理的

[1970-01-01]   近日,习主席考察贵州时提到:贵州发展大数据确实有道理。那么为什么说发展大数据是有道理的?从历史的 ...

《时代周刊》:用形象化的老办法对付大数据

[1970-01-01]   《时代周刊》最新一期封面文章称,我们每天被数据海洋淹没,只有让冷冰冰的数据形象化,变成看得见摸得 ...

从Facebook社交媒体情绪实验看大数据道德困境

[1970-01-01]   今年曝光的Facebook私自进行社交媒体用户情绪实验的新闻引起了不小的争议,这把很多数据实验卷入到社会 ...