universe_galaxy_stars_light_68743_1920x1080

【dbdao Hadoop 大数据学习】 测试Hadoop程序

dbDao.com 引导式IT在线教育

Hadoop 技术学习QQ群号  : 134115150

本文固定链接:http://t.dbdao.com/archives/testing-hadoop-programs.html

测试Hadoop程序

 

本章介绍了如何在你本地集成开发环境( IDE )中对Hadoop程序进行单元测试。虽然自早期的Hadoop以来,Hadoop程序单元测试已经取得很大进展,但因为Hadoop的组件,如Mappers 和 Reducers,是在分布式环境中运行,它仍然是具有挑战性的。

我们讨论了MapReduce单元测试API,称为MRUnit,这使我们能够独立地对Mapper 和 Reducer类进行单元测试。讨论完MRUnit的限制,我们将探讨处理这些限制的LocalJobRunner类。本章结尾将着探讨MiniMRCluster类,这使我们能够在内存中运行一个完整的MapReduce框架,使其在整个MapReduce框架环境下,适合于MapReduce组件的综合测试。

 

回顾Word Counter

表8-1是你在第3章所看到的word counter的Reducer

(更多…)

Read More

3d-universe-planets

【dbdao Hadoop 大数据学习】 Hadoop框架入门

dbDao.com 引导式IT在线教育

Hadoop 技术学习QQ群号  : 134115150

本文固定链接:http://t.dbdao.com/archives/getting-started-with-the-hadoop-framework.html

Hadoop框架入门

 

前几章讨论了大数据的动机,接着深入介绍市场上最重要的大数据框架-Hadoop。本章你将实际使用Hadoop,指导你完成设置Hadoop开发环境的过程,并提供一些操作系统上安装Hadoop的操作指南。然后写一个Hadoop程序,并引导你了解Hadoop架构下更深层次的概念。

 

安装类型

虽然安装Hadoop往往是有经验的系统管理员的任务,并且Hadoop的安装细节可在Apache 网站找到,但对于在各种平台上安装Hadoop有2点需要知道:

  • 要启用Hadoop程序的单元测试,Hadoop需要以独立模式安装。该过程对Linux系统来说相对简单,但对于Windows系统来说更复杂。
  • 为了能够在一个真实集群中启用Hadoop程序模拟,Hadoop提供了一个伪分布式集群的操作模式(t.dbdao.com)。

 

本章涵盖了使用Hadoop的多种模式。Hadoop开发环境是虚拟机的背景下讨论的。我们以独立模式在Windows和Linux上展示Hadoop安装(还讨论了Linux的伪集群安装)。 Hadoop是一个不断发展的软件,它的安装过程非常复杂。

附录A介绍了Windows和Linux平台的安装步骤。这些步骤须视为一套通用的安装指南。具体情况可能会有所不同。如本章中所述,Hadoop 2.x平台的开发,建议使用VM方法来安装开发环境。

(更多…)

Read More

space-art-wallpaper-1920x1080_007

【dbdao Hadoop 大数据学习】Hadoop概念

dbDao.com 引导式IT在线教育

Hadoop 技术学习QQ群号  : 134115150

 本文固定链接:http://t.dbdao.com/archives/hadoop-concepts.html

 

 

Hadoop概念

 

应用程序经常需求,超过廉价(商品)机器上可用的更多资源。许多组织发现自己的业务流程不再适合在单一的、具有成本效益的计算机上进行。一个简单却昂贵的解决方案是购买耗费大量内存,并具有多个CPU的专门机器 。该解决方案可最快扩展至机器所支持的程度,但是唯一的限制因素通常是你的预算。另一种解决方案是建立一个高可用性集群,它通常试图看起来像一个单台机器,并且通常需要非常专业化的安装和管理服务。许多高可用性集群都是有版权并且昂贵的。

 

获取必要的计算资源的一种更经济的解决方案是云计算。一种常用模式是:那些需要被转换的批量数据,其中每个数据项的处理基本上独立于其他数据项;也就是说,通过使用单指令,多数据(SIMD )方案。Hadoop提供一个云计算的开源框架,以及一个分布式文件系统。

本书的设计意图是作为使用Hadoop,一个由Apache软件基金会主办的项目,来开发和运行软件的实用指南。本章将为你介绍Hadoop的核心概念。目的是为下一章的内容做准备,下一章中你将了解Hadoop的安装和运行(t.dbdao.com)。

 

Hadoop介绍

 

Hadoop是以发表于2004年的有关MapReduce的Google文章为基础,其发展始于2005年。当时,Hadoop的开发是为了支持一个叫做Nutch的开源网络搜索引擎项目。最终,Hadoop从Nutch中分离出来,成为Apache基金会下自己的一个项目。

今天Hadoop是市场上最知名的MapReduce框架。目前,有几家围绕Hadoop的公司已经发展到提供Hadoop软件的支持、咨询和培训服务。

Hadoop的核心是一个基于Java的MapReduce框架。然而,由于Hadoop平台的迅速普及,支持非Java用户群体很有必要。Hadoop已经发展到拥有以下改进,和支持该群体的子项目,并将其范围扩大到企业。

(更多…)

Read More

space-drawn-hd-wallapers-collection-vol2-8589_thumb

【dbdao Hadoop 大数据学习】大数据的动机

dbDao.com 引导式IT在线教育

Hadoop 技术学习QQ群号  : 134115150

 本文固定链接:http://t.dbdao.com/archives/motivation-for-big-data.html

 

 

hadoop 大数据的动机

20多年前的计算机革命使得大量的数据正被企业集聚起来。数字传感器的发展、通信系统的激增,尤其是移动平台和设备;对系统事件大规模的日志记录;以及朝着无纸化企业的迅速发展,这些导致企业内部数据资源的大规模集聚。企业对技术的依赖确保了数据将继续以更快的速度增长。

摩尔定律称计算机的性能一直以来都是几乎每两年就会比过去翻一番,最初计算资源与数据增长速度保持一致。然而,2005年左右这种计算资源的发展速度开始逐渐减缓。

计算行业开始寻找其他选择,即并行处理以提供更经济的解决方案。如果一台计算机不能​​变得更快,则其目标是用大量计算资源来并行处理同样的问题。Hadoop是网络中的多台计算机运用MapReduce扩展数据处理(单指令的变体,计算技术的多数据[SIMD]类)的概念的实现。

基于云计算通过供应商如亚马逊,谷歌和微软等不断演变,推动了这一概念的发展,因为我们现在可以租用计算资源来节省购买这些所需的一小部分成本(t.dbdao.com)。

本书是设计意图是使用Hadoop,一个由Apache软件基金会主办,现已扩展并由各供应商,如Cloudera,MapR和Hortonworks支持的项目,来开发和运行软件的实用指南。本章将从总体上讨论大数据尤其是Hadoop的动机。

(更多…)

Read More

black_hole_space_stars_circles_universe_61036_1920x1080

【dbdao Hadoop 大数据学习】Hadoop Input/Output

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

本文固定链接:http://t.dbdao.com/archives/hadoop-inputoutput.html

 

 

 

Hadoop Input/Output

  

前几章具体概述了编程模型MapReduce的概念,在第五章末我们开始进一步研究实施Hadoop的方式。本章内容在那一理念上进行延伸。首先,我们会解释压缩方案,接着会对Hadoop的I/O展开详尽的讨论。我们会讲述各种类型的文件,例如Sequence文件和Avro文件。在此过程中,你们会对MapReduce是如何在Hadoop引擎内部运行,有更进一步的理解。

压缩方案

目前为止,你已经了解了MapReduce的基本原理。

MapReduce是一种I/O密集化的过程。降低或优化I/O是提高MapReduce程序运行的关键。

Hadoop Framework提供了几种可行性来减少I/O。第六章我们通过使用Combiner来减少Mapper和Reducer之间的I/O。本章我们将探讨能够最大程度优化MapReduce的I/O运行的压缩方案。

首先我们先快速浏览一下涉及到I/O的各种MapReduce步骤:

  1. 读取HDFS中的文件时,输入到Mapper中。
  2. 从Mapper中输出的文件会放到本地磁盘。
  3. 由于Reducer从Mapper节点中接收文件,Reducer 和 Mapper之间会有网络I/O。
  4. 从Mapper节点接收分区然排序后,合并到本地磁盘存储到Reducer节点。
  5. 回读本地磁盘的文件作为记录,可供Reducer中的reduce方法使用。
  6. 从Reducer输出——这是写回HDFS。

 

在任何MapReduce程序中,I/O是最昂贵的操作,任何能减少磁盘或者网络I/O,都可以获取更佳的总体吞吐量。Hadoop架构让你可以压缩从Mapper和Reducer中输出的文件,但是却需要权衡一下:压缩会大量占用CPU资源,而且会消耗CPU的周期。任何用于压缩的CPU的周期都将损耗其他程序,比方说Mapper, Reducer, Partitioner, Combiner, Sort 和Shuffle等等。就像在Hadoop中的大多数决定一样,在设计的时候必须要认真地把资源权衡考虑在内(t.dbdao.com)。

 

(更多…)

Read More

universe_galaxy_spiral_stars-1920x1080

【dbdao Hadoop 大数据学习】高级MapReduce开发

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

 

本文固定链接:http://t.dbdao.com/archives/advanced-mapreduce-development.html

高级MapReduce开发

 第五章从我们熟悉的SQL概念的角度讨论了MapReduce的基础知识。学习了如何用MapReduce来解决一些常见的问题。还学习了数据是如何从输入文件中读取,然后在MAP中处理,使用Partitioner传送至Reducers,最后由Reducers处理,并写入HDFS输出文件中去的。

本章探讨SQL的排序和连接特性,这需要引入MapReduce程序更为复杂的概念。我们学习了多个输出文件是如何从单一的MapReduce程序被写入的。最后,我们了解了计数器,它可以用来收集MapReduce程序的统计数据(t.dbdao.com)。

 

MapReduce编程模式

 

本章介绍了在SQL功能背景下,MapReduce设计模式:

  • 排序:当需要输出必须按照一定的标准进行排序时
  • 连接:以各表的相似列值为基础,将各个不同的表组合起来

在看这些案例之前,我们先来简单探讨一下Hadoop框架基本的I / O类。搞清楚这一点,你就能真正了解Hadoop在幕后是如何工作的。

 

   Hadoop I / O介绍

本章介绍了两种常见的基于关系数据库的案例:排序和连接。但首先,你需要了解Hadoop的I / O系统。第5章讨论了以下类:

  • Text
  • IntWritable

 

这些由Hadoop框架提供的类,有非常具体的实现方案,使其能够作为Mappers 和Reducers的键和值被使用。我们首先讨论提供此功能的这些类的特点。在这一过程中,也应该学会如何在Hadoop框架内开发可作为键和值类型使用的自定义类。

用于Mappers 和Reducers中键和值的所有类,都应该能够被序列化为一个原始字节流,以及反序列化回类实例。当被读入Mapper 后,这些类实例被反序列化,然后再序列化到一个字节流,并通过网络发送给Reducer 使用。在Reducer 节点内,这些原始字节被反序列化回Reducer 端的键/值类实例中。该记录由Reducer 端输入键排序(正如第5章中所讨论的,此进程一部分在Mapper 上进行,最终在Reducer上完成),然后提交给Reducer的reduce方法。最后,Reducer输出需要数据,序列化成原始字节,并写入到磁盘(t.dbdao.com)。

 

键和值类的主要特征如下:

  • 用作键和值的类应该能够被序列化和反序列化
  • 用作Reducer端键的类应该能够支持用户自定义排序

(更多…)

Read More

yzxkdqgqdn_61534

【dbdao Hadoop 大数据学习】MapReduce开发的基础知识

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

 

本文固定链接:http://t.dbdao.com/archives/basics-of-mapreduce-development.html

 

5.MapReduce 开发的基础知识

 

 

在前面的章节中,我们将Hadoop作为一个平台介绍给你。您了解了Hadoop架构背后的的概念,知道Hadoop管理的基础知识,甚至还编写了基本的MapReduce程序。

在这一章中,你将学习MapReduce编程的基本原理以及MapReduce程序常见的设计模式,并附带样本用例。这些基本原理将帮助你在下面的章节中深入理解MapReduce的高级概念。

 

 

5.1  Hadoop和数据处理

 

这里将通过实践案例来介绍MapReduce的基本原理。 RDBMS和SQL在数据处理中是无处不在的;我们使用SQL中的语言元素来解释MapReduce的基本概念。

在SQL语言元素背景下讨论MapReduce的基本概念不仅为你创造了一个了解MapReduce的熟悉环境,并且也将使你体会到当数据集很大时,MapReduce解决常见数据处理问题的合适性(dbdao 大数据学习)。

为了实现本章目标,我们使用了航空公司的数据集,包括到从1987年2008年所有商业航班抵达及起飞的详细信息。我们首先介绍一下这个数据集;然后你就可以开始通过MapReduce依据我们提到的SQL语言元素处理常见数据问题。在这一过程中,您将熟悉MapReduce的各个组成部分,其中包括:

  • Mapper
  • Reducer
  • Combiner
  • Partitioner

 

5.2 回顾航空数据集

 

本章使用了包括美国国内商业航班从1987年到2008年航班到达和起飞详细信息的航空公司数据集。该数据集是以逗号分隔的(CSV)格式,拥有大约120万条记录。数据集未压缩格式的磁盘总容量为120 GB。这是一个适合Hadoop处理的比较大的数据集,但也不是太大,所以很适合这本书的目的。选择该数据集的另一个原因是要在结构化数据处理的背景下讨论MapReduce。虽然Hadoop也用于非结构化数据处理,但其最常见的用途是在结构化数据集上执行大规模的ETL和把它用作大型数据集的数据仓库。该航空公司数据集高度结构化,适合用于解释SQL语言元素方面的MapReduce概念。该数据集可从http://stat-computing.org/dataexpo/2009/the-data.html下载。

数据集各种字段如表5​​-1所示。

(更多…)

Read More

talend_hits_the_big_apple_at_strata_and_hadoop_world_2015_0

【dbdao.com hadoop大数据教程】 Hadoop管理

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

本文固定链接:http://t.dbdao.com/archives/hadoop-administration.htm

 

Hadoop管理

 

这一章主要讨论Hadoop在一个多节点集群上的管理。你在这一章将探索Hadoop详细的配置文件,学习Hadoop是如何支持在一个集群中的一个组织中包含多个组的。Hadoop有各种类型的调度器来支持这个功能。本章的目标是使你观察到当一个Hadoop job执行时,集群中每个节点发生了什么微妙变化。 (dbdao.com IT技术博客)

 

1. Hadoop配置文件

了解了Hadoop中的各种配置文件及其用途后,接下来将要探讨诸如调度器和Hadoop管理之类的概念。

使用Hadoop集群的每一个机器都有其自己的一套配置文件。Hadoop早期版本只有一个配置文件:hadoop-site.xml。接下来的版本将这一文件按功能分为不同文件。此外,有两种配置文件:*-default.xml 和 *-site.xml。*-site.xml文件的配置能覆盖*-default.xml文件的配置。

*-default.xml文件为只读,是直接从JAR文件类路径中读取的。这些文件以及它们相应的位置见表4-1.

 

4-1 Hadoop的默认配置文件

配置文件              用途

core-default.xml         默认Hadoop的核心属性。文件位于以下JAR文件中:

hadoop-common-2.2.0.jar(假设版本2.2.0)

hdfs-default.xml         默认HDFS属性。文件位于以下JAR文件中:

hadoop-hdfs-2.2.0.jar  (假设版本2.2.0)

mapred-default.xml      默认MapReduce属性。文件位于以下JAR文件中:

hadoop-mapreduce-client-core-2.2.0.jar(假设版本2.2.0)

yarn-default.xml         默认YARN属性。文件位于以下JAR文件中:

hadoop-yarn-common-2.2.0.jar (假设版本2.2.0)

 

网站特定配置文件通常位于$ HADOOP_CONF_DIR文件夹。这些配置文件会覆盖表4-1中提到的默认文件,代表你的集群(网站)的独特属性(dbdao.com IT技术博客)。

网站特定文件中没有提到的属性,使用默认文件中的属性值。这些文件见表4-2.

 

 

4-2 Hadoop网站特定配置文件

 配置文件          用途

core-site.xml      网站特定常见Hadoop属性。该文件中配置的属性覆盖core-default.xml文件的属性。

hdfs-site.xml      网站特定HDFS属性。该文件中配置的属性覆盖hdfs-default.xml文件的属性。

mapred-site.xml    网站特定MapReduce属性。该文件中配置的属性覆盖mapred-default.xml文件的属性。

yarn.xml          网站特定YARN属性。该文件中配置的属性覆盖mapred-default.xml文件的属性。

(更多…)

Read More

12

消灭密码

密码,这一获得访问我们最有价值数据的主要手段,几乎变得一点用处也没有了,甚至对黑客和恶作剧制造者们来说连一点阻拦的作用都没有了。

在现代计算大环境下,密码存在无数的问题。我们不再在单一主机上登录,有多个应用程序在各种平台上使用,这就意味着我们被迫要记住许许多多密码,导致很多人在不同的网站上使用非常简单的密码比如1234或同样的密码,甚至都不再考虑密码是否安全。

想一下你上一次买了一个新设备,想要登录Facebook或者其它常光顾的网站。如果你像我一样,在各种网站上使用不同的密码,那么你可能已经忘掉密码。你也许会像我以往经常做的那样,点击找回密码,但那也就意味着你要在各种不同的设备上更换密码。那是多么可怕的系统。

我经常遇到这样的问题,我也相信我不是唯一一个遭受这种困扰的人。显然,我们需要一种更好的解决办法。

13

密码太多

 

在数据库中设置静态密码,大概是所能想到的保密最愚蠢的主意。只要一个经验老到的(甚至不是非常聪明的)黑客进入到数据库,正如我们一次次了解到的那样,密码的存在仿佛正是为了打开这个巨大的宝库,这是一个黑客最乐意看到的。

2012年的一项民意调查显示,41%的人选择记住密码,29%的人选择记在本子上,而只有9%的人将密码在电脑上存档。这些都不是理想的选择。

2012年另一项调查显示,普通人平均有17个个人密码和8.5个工作密码。并且这些数字从那时起一直在增加。如果你真的要使用这么多密码,那试图要记住超过25个密码确实是一项艰巨的任务。

有一些企业比如 Ping Identity、 Okta,它们试图利用单点登录来简化这一程序,取得了一定程度的成功。这一举动对企业一方有利,但对消费者没用。

我们可以使用密码管理软件来帮我们记住密码,当然,密码管理软件还是由一个单一的密码保护(想必你也能猜到)。那就意味着如果有人“黑”了你的密码管理软件,他们就会得到所有的密码。事实上,今年早些时候LastPass就发生过这种情况。

然而最近两年来,不管你有多少密码,不管你有多么谨慎,总会有一些密码落在许多可恶的黑客手里。

不作为的后果

 

我们眼看着这种案例一再重复,这些漏洞是铭刻在互联网历史上的耻辱。从塔吉特到索尼到安腾到美国人事管理办公室,我们目睹这种大型的泄露一再发生。每一次发生事故,都会有大量密码流入黑客的黑市交易市场上。

当然并不是所有这些事故都是因为密码出现错误导致的,但对黑客来说利用恶意程序去窃取密码并不难,甚至都不需要从超级黑客那里获得宝藏。但是一旦他们闯进系统,就会用很多巧妙的方法来盗取各种数据存储。

据General Catalyst(一家为许多安全公司包括Ping Identity, Menlo Security和ThreatStream提供资金支持的公司)的总经理Steve Herrod表示,一部分问题在于公司不能很好地掌控其数据库中的数据。

“当高层的人不得不开始做数据清单,这些成了我自己的数据库,而听到这些数据库已经泄露是件多么糟糕的事,” Herrod不解道。“一旦你知道自己拥有什么,就有能力更好地保护公司的‘王冠’。问题是该保护系统并不总是针对最高优先级的数据。”他说。

减轻用户负担

 

从现在开始,这一负担不应落在我们用户身上,而应该由那些经营网络公司的聪明人来思考如何简化安全程序,以使其对用户来说更容易、更方便,而对用心不良的人来说更难窃取证书。这将比苦苦思考如何为我们提供更好的广告服务要好得多——只是说说而已。

系统将责任推给用户,从而使消费者或职员的生活陷入麻烦的例子太普遍了。当你不得不每30天替换一次密码,并且密码要跟以往用过的信息都不能重合,还要用大小写字母,至少两个数字和一个符号时,这对用户来说将是一项艰难的任务。它强迫人们去记非自然的密码,逼着他们用不安全的方法来记密码,比如写在便利贴上、粘贴在桌面上,或者甚至是记在更明显的像“密码日志”之类的东西上。

关键是要找到一种方式来保障我们的个人信息安全,而不必给用户带来不必要的麻烦,同时使密码很难——当然最好完全不可能——被盗走。那就需要有自动不断变化的密码或者像指纹、眼睛扫描之类的技术。值得注意的是,我的手指和眼睛总是不离身的,我不可能忘记它们,你也没有在数据库扫描存储过。它可以在系统层面交互,但不能被任何人访问(除了一些令人毛骨悚然的场景我宁愿不考虑)。许多设备上已经配备了用于眼睛扫描的装备,类似于一种照相机。其他设备很多也配备了指纹扫描仪。

当然,没有什么是绝对的,一定有比我们目前更好的方法。密码失效后,将所有的责任推向用户,这正好与系统正常运转的方式相反。甚至当你熟练掌握了密码——我认为大部分人做不到这一点,如果我们诚实的话——一旦数据库泄露,这些都不重要了。也许你本可以有地球上最安全的密码,一旦有人窃取了它,就变成他们的了。

因此,我恳求所有聪明的工程师和安全极客们汇聚你们的集体智慧、发动头脑风暴来找到一个更好的方法。一定存在着一个更好的方法。

是时候消灭密码了——为了大家的利益。

Read More

3

Spark 和 Hadoop是朋友,而非敌人

6月份Apache Spark取得了激动人心的好成绩。在圣何塞的Hadoop峰会上,Spark成了常见的话题,以及许多会议演讲的主题。6月15日,IBM宣布计划将大力投资与Spark相关的技术。

这一声明拉开了旧金山Spark峰会的序幕,在里,人们将会看到越来越多的工程师学习Spark,以及越来越多的公司正试验和采用Spark技术。

对Spark投资和采用的良性循环正迅速地推动这一重要技术的成熟和发展,对整个大数据社区都有利。然而,随着人们对Spark技术的越来越关注,产生了一个奇怪而又顽固的误解:Spark在某种程度上是Apache Hadoop的替代品,而非对它的一种补充。这一误解从像“一款旨在打破Hadoop数据的新的软件”以及“公司纷纷抛弃Hadoop大数据技术”等标题中都可以看到。

作为一个长期以来的大数据实践者,最先提倡雅虎投资Hadoop,现在是一家为企业提供大数据服务的公司CEO,我想就这一误解发表自己的观点,进行一些澄清。

Spark 和 Hadoop通力合作。

Hadoop正日益成为公司处理大数据的企业平台之选。Spark则是一种运行在Hadoop之上的内存中处理解决方案。Hadoop最大的用户——包括易趣和雅虎,都在他们的Hadoop集群中运行Spark。Cloudera 和 Hortonworks在他们的Hadoop包中也加入了Spark。我们的客户Altiscale自我们最开始推出时就一直使用着运行在Hadoop之上的Spark。

将Spark置于Hadoop的对立面,就像说你的新电动车非常酷,不需要电一样。但事实上,电动车将推动对电的更多需求。

为什么会产生这种混淆?现在的Hadoop主要由两部分构成。第一部分是叫做Hadoop分布式文件系统(HDFS)的大型存储系统,该系统能低成本、高效地存储数据,且能对大数据的容量、多样性和速度进行优化。第二部分是一个叫做YARN的计算引擎,该引擎能在HDFS存储的数据上运行大量并行程序。

YARN能托管任意数量的程序框架。最初的框架是谷歌发明的MapReduce,用来帮助处理大量的网络抓取数据。Spark是另一种这样的框架,正如还有另一个新的叫Tez的框架。当人们谈论“Spark”与“Hadoop”的对决时,他们真正的意思是现在的程序员更喜欢用Spark,而不是之前的MapReduce框架。

然而,MapReduce不应和Hadoop等同起来。MapReduce只是处理Hadoop集群中数据的众多方式之一,Spark可以作为替代品来用。更广泛地说,商业分析师们——日益壮大的大数据实践者,会避免使用这两种专门供程序员使用的低端框架。相反地,他们使用高级语言比如SQL来使Hadoop更加便于使用。

在过去四年,以Hadoop为基础的大数据技术经历了前所未有的创新,从批处理SQL到交互操作,从一个框架(MapReduce)到多个框架(如:MapReduce,Spark等)。

我们也见证了HDFS性能和安全性上的巨大改进,以及在这些技术上涌现的众多工具——例如DatameerH20 和 Tableau,这些工具使得所有这些大数据基础设施的使用范围更广阔,数据科学家和企业用户都能使用。

Spark并不是要取代Hadoop。相反,Hadoop是一个使Spark成为可能的基础。随着各个组织寻求最广阔、最强劲的平台来将其数据资产转变成切实可行的商业远见,相信两个技术都将会被越来越多地采用。

Read More