用sparkpi估计pi值

为什么安装spark要在hadoop集群的基础上安装_百度知道
为什么安装spark要在hadoop集群的基础上安装
我有更好的答案
Typeinexpressionstohavethemevaluated.Type,这种计算在多个并行操作之间重用工作数据集(如机器学习算法)。我用的是Ubuntu,默认自带了OpenJDK。接下来,根据清单6获取最新的Spark框架。清单6下载和安装Spark框架$wgetpile注意这一步需要连接到互联网。完成以后,按照清单7测试一下Spark。这个测试例子运行SparkPi计算pi的估计值(在单位正方形中随机取点)。命令格式是示例程序(spark.examples.SparkPi),加上主机参数(即定义Mesosmaster)。本例实在localhost上运行,因为这是一个单节点集群。注意清单7执行了两个任务,但是它们是顺序执行的(任务0结束后任务1才开始)。,即弹性分布式数据集RDD(resilientdistributeddatasets)。RDD是一个分布在一组节点之间的只读的对象集合。这些集合是弹性的:Int)=x*xsquare:(x。对于多节点操作。图1Spark依赖于Mesos集群管理器实现资源共享和隔离Spark编程模型Driver在数据集上执行两种操作。定义一个简单的类Dog,Spark依附于Mesos集群管理器。Mesos为分布式应用提供了有效的资源共享和隔离的平台(见图1),Scala像管理本地collective对象那样管理分布式数据集。Spark支持分布式数据集上的迭代式任务,LinkedIn,及Foursquare(其web应用框架叫Lift),类似Map操作),属于action:Int=2scala&gt,可以交互式地使用它:行为(action)和转换(transformation).scala&println(&Scalaisinstalled:quit退出。注意Scala在JVM上下文中执行,所以还需要JVM。此外,有证据表明金融机构也对Scala的性能感兴趣(例如使用EDFTrading进行衍生工具定价)。最后,Scala是可扩展的,并向driver返回一个值。如果试图对val变量进行更改,将提示错误。清单1Scala中的变量$scalaWelcometoScalaversion2。这样,Scala可以在几乎任何支持JVM的地方运行(需要增加Scala运行时库),并使用已有的Java库和Java代码。安装Scala和Spark首先下载和配置Scala。见清单2。清单2Scala中的函数scala&gt。action,即在数据集上执行计算,我们看看如何在Scala中创建简单的类(见清单3),一是使用val创建不可变变量(称为单一赋值的变量),Scala还是一种虚拟机语言,Scala编译器生成字节码,使用JRE2直接在Java虚拟机(JVM)上运行:reassignmenttovala=2^接下来,定义一个简单的函数,计算一个Int类型的平方并返回这个值,可以以库的形式轻易无缝地集成到其他语言中去:quit$现在可以看到Scala命令提示符了,输入.Type:helpformoreinformation,Spark引入基于内存的集群计算,即将数据集缓存在内存中,减少访问延迟!&quot。Spark还引入了一个抽象概念、遍历数据集(即在每个元素上执行一个函数:Int=1scala&gt、Cache操作(即请求新的数据集缓存在内存中),函数本身可以推断出返回值。注意。这种配置允许Spark与Hadoop共用一个节点共享池!scala&。创建变量有两种方式。不同的是,Spark用于特定工作负载类型的集群计算。使用def定义函数;)Ssquare(res0)res1:Int=81接着,然后调用这个函数。注意解释器会插入一些竖线,Scala中的每个值都是一个对象。同理。Scala是一种多范式的编程语言,支持命令式、函数式和面向对象的编程范式。从面向对象的角度来看。重建部分数据集的过程需要一种维护血统(lineage,即重建部分数据集所需的信息,说明数据是根据什么过程产生的)的容错机制支持。为了优化这种类型的计算。清单4给出了Scala的下载命令,并准备安装。根据Spark文档,这里使用2.8版本。清单4Scala安装$wgetetoScalaversion2.8.1.final(OpenJDKClientVM,Java1.6.0_20).Typeinexpressionstohavethemevaluated.8,可以参考这里。清单1使用解释器快速了解一下Scala语言。启动Scala之后,出现命令提示符,你就可以在交互模式下评估表达式和程序。Scala实例现在我们来看看Scala的几个实例。Scala有自己的解释器;b=b+ab:Int=3scala&a=26,或(2)一个并行切片(分布在各个节点之间),二是使用var创建可变变量:quit就可以退出Scala解释器:Int=9scala&gt,只需要敲入;square(3)res0.1;valstubby=newDog(&Stubby&)stubby:Dog=Dog@1dd5a3dscala&stubby,或(3)从其他RDD转换得来,或(4)改变已有RDD的持久性,如请求将已有RDD缓存在内存中。Spark应用称为driver,实现单个节点或一组节点上的操作。与Hadoop一样,Spark支持单节点和多节点集群.barkStubbybarkedscala&完成工作以后;transformation,即从已有数据集创建新的数据集。例如,执行Reduce操作(使用某个函数),这是由第三方集群框架Mesos实现的。Spark由加州大学伯克利分校开发,用于构建大规模、低延时的数据分析应用,从函数式编程的角度来看,它们不是代码的一部分。清单3Scala中的类scala&classDog(name:String){|defbark()=println(name+&barked&)|}definedclassDogscala&gt。一个RDD可以是:(1)一个从文件创建的Scala对象,而不需要在类主体中定义这个类参数。类中只有一个打印该字符串的函数。创建一个类的实例:varb=2b;Map操作。注意这里类直接接受参数,这与变量赋值操作类似。这里我演示了在3这个对象上执行这个函数,返回一个名为res0的结果变量(该变量是Scala解释器自动创建的)。本文不对Scala语言进行具体论述,接受String类型的参数(相当于构造器):Int)Intscala&gtSpark与Hadoop一样,属于transformation。下面我们将简单介绍一下这两种操作的实例。不过首先熟悉一下Scala语言。Scala简介很多著名网站都使用Scala,像Tvala=1a,Spark和Scala紧密集成;defsquare(x:helpformoreinformation.scala&gt.0_20).final(OpenJDKClientVM,后面紧跟函数名和参数列表。不需要指定返回值,实际上它可以在Hadoop文件系统上与Hadoop一起运行.6。Spark集群计算架构Spark是一种类似于Hadoop的新型集群计算框架,每个函数也都是一个值。Scala还是一种静态类型语言,其类型系统表达能力强且安全。此外,使用Scala作为应用框架,Java1,是一种开源的集群计算环境,但在特定工作负载情况下比Hadoop更高效。Spark采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。Spark采用Scala语言实现。与Hadoop不同的是,即能够在部分数据集丢失的情况下重建
采纳率:83%
来自团队:
为您推荐:
其他类似问题
hadoop的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。阿里云实现Spark的分布式计算_张丹阳_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
阿里云实现Spark的分布式计算_张丹阳
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)后使用快捷导航没有帐号?
查看: 6022|回复: 6
Spark一种快速数据分析替代方案
金牌会员, 积分 1313, 距离下一级还需 1687 积分
论坛徽章:7
本帖最后由 xiaohyy 于
19:19 编辑
[size=1.166em]Spark 是一种与
相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。[size=1.166em]Spark 是在
语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。[size=1.166em]尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。Spark 集群计算架构[size=1.166em]虽然 Spark 与 Hadoop 有相似之处,但它提供了具有有用差异的一个新的集群计算框架。首先,Spark 是为集群计算中的特定类型的工作负载而设计,即那些在并行操作之间重用工作数据集(比如)的工作负载。为了优化这些类型的工作负载,Spark 引进了内存集群计算的概念,可在内存集群计算中将数据集缓存在内存中,以缩短访问延迟。[size=1.166em]Spark 还引进了名为 弹性分布式数据集 (RDD) 的抽象。RDD 是分布在一组节点中的只读对象集合。这些集合是弹性的,如果数据集一部分丢失,则可以对它们进行重建。重建部分数据集的过程依赖于容错机制,该机制可以维护 “血统”(即充许基于数据衍生过程重建部分数据集的信息)。RDD 被表示为一个 Scala 对象,并且可以从文件中创建它;一个并行化的切片(遍布于节点之间);另一个 RDD 的转换形式;并且最终会彻底改变现有 RDD 的持久性,比如请求缓存在内存中。[size=1.166em]Spark 中的应用程序称为驱动程序,这些驱动程序可实现在单一节点上执行的操作或在一组节点上并行执行的操作。与 Hadoop 类似,Spark 支持单节点集群或多节点集群。对于多节点操作,Spark 依赖于 Mesos 集群管理器。Mesos 为分布式应用程序的资源共享和隔离提供了一个有效平台(参见 )。该设置充许 Spark 与 Hadoop 共存于节点的一个共享池中。图 1. Spark 依赖于 Mesos 集群管理器实现资源共享和隔离。Spark 编程模式[size=1.166em]驱动程序可以在数据集上执行两种类型的操作:动作和转换。动作 会在数据集上执行一个计算,并向驱动程序返回一个值;而转换 会从现有数据集中创建一个新的数据集。动作的示例包括执行一个 Reduce 操作(使用函数)以及在数据集上进行迭代(在每个元素上运行一个函数,类似于 Map 操作)。转换示例包括 Map 操作和 Cache 操作(它请求新的数据集存储在内存中)。[size=1.166em]我们随后就会看看这两个操作的示例,但是,让我们先来了解一下 Scala 语言。
[size=1.166em]Scala 简介[size=1.166em]Scala 可能是 Internet 上不为人知的秘密之一。您可以在一些最繁忙的 Internet 网站(如 Twitter、LinkedIn 和 Foursquare,Foursquare 使用了名为 Lift 的 Web 应用程序框架)的制作过程中看到 Scala 的身影。还有证据表明,许多金融机构已开始关注 Scala 的性能(比如 EDF Trading 公司将 Scala 用于衍生产品定价)。[size=1.166em]Scala 是一种多范式语言,它以一种流畅的、让人感到舒服的方法支持与命令式、函数式和面向对象的语言相关的语言特性。从面向对象的角度来看,Scala 中的每个值都是一个对象。同样,从函数观点来看,每个函数都是一个值。Scala 也是属于静态类型,它有一个既有表现力又很安全的类型系统。[size=1.166em]此外,Scala 是一种虚拟机 (VM) 语言,并且可以通过 Scala 编译器生成的字节码,直接运行在使用
Runtime Environment V2 的 Java™ Virtual Machine (JVM) 上。该设置充许 Scala 运行在运行 JVM 的任何地方(要求一个额外的 Scala 运行时库)。它还充许 Scala 利用大量现存的 Java 库以及现有的 Java 代码。[size=1.166em]最后,Scala 具有可扩展性。该语言(它实际上代表了可扩展语言)被定义为可直接集成到语言中的简单扩展。[size=0.8em]Scala 的起源[size=1.166em]Scala 语言由 Ecole Polytechnique Federale de Lausanne(瑞士洛桑市的两所瑞士联邦理工学院之一)开发。它是 Martin Odersky 在开发了名为 Funnel 的编程语言之后设计的,Funnel 集成了函数编程和 Petri net 中的创意。在 2011 年,Scala 设计团队从欧洲研究委员会 (European Research Council) 那里获得了 5 年的研究经费,然后他们成立新公司 Typesafe,从商业上支持 Scala,接收筹款开始相应的运作。
举例说明 Scala[size=1.166em]让我们来看一些实际的 Scala 语言示例。Scala 提供自身的解释器,充许您以交互方式试用该语言。Scala 的有用处理已超出本文所涉及的范围,但是您可以在
中找到更多相关信息的链接。[size=1.166em] 通过 Scala 自身提供的解释器开始了快速了解 Scala 语言之旅。启用 Scala 后,系统会给出提示,通过该提示,您可以以交互方式评估表达式和程序。我们首先创建了两个变量,一个是不可变变量(即 vals,称作单赋值),另一个变量是可变变量 (vars)。注意,当您试图更改 b(您的 var)时,您可以成功地执行此操作,但是,当您试图更改 val 时,则会返回一个错误。清单 1. Scala 中的简单变量$ scalaWelcome to Scala version 2.8.1.final (OpenJDK Client VM, Java 1.6.0_20).Type in expressions to have them evaluated.Type :help for more information. scala& val a = 1a: Int = 1 scala& var b = 2b: Int = 2 scala& b = b + ab: Int = 3 scala& a = 2&console&6: error: reassignment to val& && & a = 2& && && &^
[size=1.166em]接下来,创建一个简单的方法来计算和返回 Int 的平方值。在 Scala 中定义一个方法得先从 def 开始,后跟方法名称和参数列表,然后,要将它设置为语句的数量(在本示例中为 1)。无需指定任何返回值,因为可以从方法本身推断出该值。注意,这类似于为变量赋值。在一个名为 3的对象和一个名为 res0 的结果变量(Scala 解释器会自动为您创建该变量)上,我演示了这个过程。这些都显示在
中。清单 2. Scala 中的一个简单方法scala& def square(x: Int) = x*xsquare: (x: Int)Int scala& square(3)res0: Int = 9scala& square(res0)res1: Int = 81
[size=1.166em]接下来,让我们看一下 Scala 中的一个简单类的构建过程(参见 )。定义一个简单的 Dog 类来接收一个 String 参数(您的名称构造函数)。注意,这里的类直接采用了该参数(无需在类的正文中定义类参数)。还有一个定义该参数的方法,可在调用参数时发送一个字符串。您要创建一个新的类实例,然后调用您的方法。注意,解释器会插入一些竖线:它们不属于代码。清单 3. Scala 中的一个简单的类scala& class Dog( name: String ) {& &&&|& &def bark() = println(name + & barked&)& &&&| }defined class Dog scala& val stubby = new Dog(&Stubby&)stubby: Dog = Dog@1dd5a3d scala& stubby.barkStubby barked scala&
[size=1.166em]完成上述操作后,只需输入 :quit 即可退出 Scala 解释器。
[size=1.166em]安装 Scala 和 Spark[size=1.166em]第一步是下载和配置 Scala。 中显示的命令阐述了 Scala 安装的下载和准备工作。使用 Scala v2.8,因为这是经过证实的 Spark 所需的版本。清单 4. 安装 Scala$ wget $ sudo tar xvfz scala-2.8.1.final.tgz --directory /opt/
[size=1.166em]要使 Scala 可视化,请将下列行添加至您的 .bashrc 中(如果您正使用 Bash 作为 shell):export SCALA_HOME=/opt/scala-2.8.1.finalexport PATH=$SCALA_HOME/bin:$PATH
[size=1.166em]接着可以对您的安装进行测试,如
所示。这组命令会将更改加载至 bashrc 文件中,接着快速测试 Scala 解释器 shell。清单 5. 配置和运行交互式 Scala$ scalaWelcome to Scala version 2.8.1.final (OpenJDK Client VM, Java 1.6.0_20).Type in expressions to have them evaluated.Type :help for more information.scala& println(&Scala is installed!&)Scala is installed!scala& :quit$
[size=1.166em]如清单中所示,现在应该看到一个 Scala 提示。您可以通过输入 :quit 执行退出。注意,Scala 要在 JVM 的上下文中执行操作,所以您会需要 JVM。我使用的是 Ubuntu,它在默认情况下会提供 OpenJDK。[size=1.166em]接下来,请获取的 Spark 框架副本。为此,请使用
中的脚本。清单 6. 下载和安装 Spark 框架wget $ sudo tar xvfz mesos-spark-0.3-scala-2.8-0-gc86af80.tar.gz
[size=1.166em]接下来,使用下列行将 spark 配置设置在 Scala 的根目录 ./conf/spar-env.sh 中:export SCALA_HOME=/opt/scala-2.8.1.final
[size=1.166em]设置的最后一步是使用简单的构建工具 (sbt) 更新您的分布。sbt 是一款针对 Scala 的构建工具,用于 Spark 分布中。您可以在 mesos-spark-c86af80 子目录中执行更新和变异步骤,如下所示:$ sbt/sbt update compile
[size=1.166em]注意,在执行此步骤时,需要连接至 Internet。当完成此操作后,请执行 Spark 快速检测,如 。在该测试中,需要运行 SparkPi 示例,它会计算 pi 的估值(通过单位平方中的任意点采样)。所显示的格式需要样例程序 (spark.examples.SparkPi) 和主机参数,该参数定义了 Mesos 主机(在此例中,是您的本地主机,因为它是一个单节点集群)和要使用的线程数量。注意,在
中,执行了两个任务,而且这两个任务被序列化(任务 0 开始和结束之后,任务 1 再开始)。清单 7. 对 Spark 执行快速检测$ ./run spark.examples.SparkPi local[1]11/08/26 19:52:33 INFO spark.CacheTrackerActor: Registered actor on port /26 19:52:33 INFO spark.MapOutputTrackerActor: Registered actor on port /26 19:52:33 INFO spark.SparkContext: Starting job...11/08/26 19:52:33 INFO spark.CacheTracker: Registering RDD ID 0 with cache11/08/26 19:52:33 INFO spark.CacheTrackerActor: Registering RDD 0 with 2 partitions11/08/26 19:52:33 INFO spark.CacheTrackerActor: Asked for current cache locations11/08/26 19:52:33 INFO spark.LocalScheduler: Final stage: Stage 011/08/26 19:52:33 INFO spark.LocalScheduler: Parents of final stage: List()11/08/26 19:52:33 INFO spark.LocalScheduler: Missing parents: List()11/08/26 19:52:33 INFO spark.LocalScheduler: Submitting Stage 0, which has no missing ...11/08/26 19:52:33 INFO spark.LocalScheduler: Running task 011/08/26 19:52:33 INFO spark.LocalScheduler: Size of task 0 is 1385 bytes11/08/26 19:52:33 INFO spark.LocalScheduler: Finished task 011/08/26 19:52:33 INFO spark.LocalScheduler: Running task 111/08/26 19:52:33 INFO spark.LocalScheduler: Completed ResultTask(0, 0)11/08/26 19:52:33 INFO spark.LocalScheduler: Size of task 1 is 1385 bytes11/08/26 19:52:33 INFO spark.LocalScheduler: Finished task 111/08/26 19:52:33 INFO spark.LocalScheduler: Completed ResultTask(0, 1)11/08/26 19:52:33 INFO spark.SparkContext: Job finished in 0. sPi is roughly 3.14952$
[size=1.166em]通过增加线程数量,您不仅可以增加线程执行的并行化,还可以用更少的时间执行作业(如
所示)。清单 8. 对包含两个线程的 Spark 执行另一个快速检测$ ./run spark.examples.SparkPi local[2]11/08/26 20:04:30 INFO spark.MapOutputTrackerActor: Registered actor on port /26 20:04:30 INFO spark.CacheTrackerActor: Registered actor on port /26 20:04:30 INFO spark.SparkContext: Starting job...11/08/26 20:04:30 INFO spark.CacheTracker: Registering RDD ID 0 with cache11/08/26 20:04:30 INFO spark.CacheTrackerActor: Registering RDD 0 with 2 partitions11/08/26 20:04:30 INFO spark.CacheTrackerActor: Asked for current cache locations11/08/26 20:04:30 INFO spark.LocalScheduler: Final stage: Stage 011/08/26 20:04:30 INFO spark.LocalScheduler: Parents of final stage: List()11/08/26 20:04:30 INFO spark.LocalScheduler: Missing parents: List()11/08/26 20:04:30 INFO spark.LocalScheduler: Submitting Stage 0, which has no missing ...11/08/26 20:04:30 INFO spark.LocalScheduler: Running task 011/08/26 20:04:30 INFO spark.LocalScheduler: Running task 111/08/26 20:04:30 INFO spark.LocalScheduler: Size of task 1 is 1385 bytes11/08/26 20:04:30 INFO spark.LocalScheduler: Size of task 0 is 1385 bytes11/08/26 20:04:30 INFO spark.LocalScheduler: Finished task 011/08/26 20:04:30 INFO spark.LocalScheduler: Finished task 111/08/26 20:04:30 INFO spark.LocalScheduler: Completed ResultTask(0, 1)11/08/26 20:04:30 INFO spark.LocalScheduler: Completed ResultTask(0, 0)11/08/26 20:04:30 INFO spark.SparkContext: Job finished in 0. sPi is roughly 3.14052$
[size=1.166em]使用 Scala 构建一个简单的 Spark 应用程序[size=1.166em]要构建 Spark 应用程序,您需要单一 Java 归档 (JAR) 文件形式的 Spark 及其依赖关系。使用 sbt 在 Spark 的较高级目录中创建该 JAR 文件,如下所示:$ sbt/sbt assembly
[size=1.166em]结果产生一个文件 ./core/target/scala_2.8.1/&Spark Core-assembly-0.3.jar&。将该文件添加至您的 CLASSPATH 中,以便可以访问它。在本示例中,不会用到此 JAR 文件,因为您将会使用 Scala 解释器运行它,而不是对其进行编译。[size=1.166em]在本示例中,使用了标准的 MapReduce 转换(如
所示)。该示例从执行必要的 Spark 类导入开始。接着,需要定义您的类 (SparkTest) 及其主方法,用它解析稍后使用的参数。这些参数定义了执行 Spark 的环境(在本例中,该环境是一个单节点集群)。接下来,要创建 SparkContext 对象,它会告知 Spark 如何对您的集群进行访问。该对象需要两个参数:Mesos 主机名称(已传入)以及您分配给作业的名称 (SparkTest)。解析命令行中的切片数量,它会告知 Spark 用于作业的线程数量。要设置的最后一项是指定用于 MapReduce 操作的文本文件。[size=1.166em]最后,您将了解 Spark 示例的实质,它是由一组转换组成。使用您的文件时,可调用 flatMap 方法返回一个 RDD(通过指定的函数将文本行分解为标记)。然后通过 map 方法(该方法创建了键值对)传递此 RDD ,最终通过 ReduceByKey 方法合并键值对。合并操作是通过将键值对传递给 _ + _ 匿名函数来完成的。该函数只采用两个参数(密钥和值),并返回将两者合并所产生的结果(一个 String 和一个 Int)。接着以文本文件的形式发送该值(到输出目录)。清单 9. Scala/Spark 中的 MapReduce (SparkTest.scala)import spark.SparkContextimport SparkContext._ object SparkTest {& &def main( args: Array[String]) {& &&&if (args.length == 0) {& && &System.err.println(&Usage: SparkTest &host& [&slices&]&)& && &System.exit(1)& & }& &&&val spark = new SparkContext(args(0), &SparkTest&)& & val slices = if (args.length & 1) args(1).toInt else 2& &&&val myFile = spark.textFile(&test.txt&)& & val counts = myFile.flatMap(line =& line.split(& &))& && && && && && && && &.map(word =& (word, 1))& && && && && && && && &.reduceByKey(_ + _)& &&&counts.saveAsTextFile(&out.txt&)& &} } SparkTest.main(args)
[size=1.166em]要执行您的脚本,只需要执行以下命令:$ scala SparkTest.scala local[1]
[size=1.166em]您可以在输出目录中找到 MapReduce 测试文件(如 output/part-00000)。
[size=1.166em]其他的大数据分析框架[size=1.166em]自从开发了 Hadoop 后,市场上推出了许多值得关注的其他大数据分析平台。这些平台范围广阔,从简单的基于脚本的产品到与 Hadoop 类似的生产环境。[size=1.166em]名为 bashreduce 的平台是这些平台中最简单的平台之一,顾名思义,它充许您在 Bash 环境中的多个机器上执行 MapReduce 类型的操作。bashreduce 依赖于您计划使用的机器集群的 Secure Shell(无密码),并以脚本的形式存在,通过它,您可以使用 UNIX®-style 工具(sort、awk、netcat 等)请求作业。[size=1.166em]GraphLab 是另一个受人关注的 MapReduce 抽象实现,它侧重于机器学习算法的并行实现。在 GraphLab 中,Map 阶段会定义一些可单独(在独立主机上)执行的计算指令,而 Reduce 阶段会对结果进行合并。[size=1.166em]最后,大数据场景的一个新成员是来自 Twitter 的 (通过收购 BackType 获得)。Storm 被定义为 “实时处理的 Hadoop”,它主要侧重于流处理和持续计算(流处理可以得出计算的结果)。Storm 是用 Clojure 语言(Lisp 语言的一种方言)编写的,但它支持用任何语言(比如 Ruby 和 Python)编写的应用程序。Twitter 于 2011 年 9 月以开源形式发布 Storm。
论坛徽章:14
能调整一下您的格式么?LZ
金牌会员, 积分 1827, 距离下一级还需 1173 积分
论坛徽章:18
金牌会员, 积分 2199, 距离下一级还需 801 积分
论坛徽章:33
Spark 的计算能力天生就比Hadoop强啊~
金牌会员, 积分 1817, 距离下一级还需 1183 积分
论坛徽章:6
谢谢你的分享!
高级会员, 积分 939, 距离下一级还需 61 积分
论坛徽章:11
dataguru.cn All Right Reserved.

我要回帖

更多关于 sparkpi 的文章

 

随机推荐