摘要:
RDD可以很好地适用于支持数据并行的批量分析应用,包括数据挖掘,机器学习,图算法等,因为这些程序通常都会在很多记录上执行相同的操作。RDD不太适合那些异步更新共享状态的应用,例如并行web爬行器。因此,我们的目标是为大多数分析型应用提供有效的编程模型,而其他类型的应用交给专门的系统。关于RDD详见:弹性分布式数据集:一种基于内存的集群计算的容(二):弹性分布式数据集(RDD)硬件环境:开发机器是 3台 Intel(R) Xeon(R) CPU E5440 @ 2.83GHz双核 2.8G 4G内存操作系统:Red Hat Enterprise Linux Server release 5.7 阅读全文
摘要:
注重版权,尊重他人劳动转帖注明原文地址:http://www.cnblogs.com/vincent-hv/p/3316502.htmlSpark主要提供三种位置配置系统:环境变量:用来启动Spark workers,可以设置在你的驱动程序或者conf/spark-env.sh 脚本中;java系统性能:可以控制内部的配置参数,两种设置方法:编程的方式(程序中在创建SparkContext之前,使用System.setProperty(“xx”,“xxx”)语句设置相应系统属性值);在conf/spark-env.sh中配置环境变量SPARK_JAVA_OPTS。日志配置:通过log4j.pr 阅读全文
摘要:
原文地址:http://jerryshao.me/architecture/2013/03/29/spark-overview/援引@JerryLead的系统架构图作为Spark整体结构的一个 birdview:整体上Spark分为以下几个主要的子模块:deploy:deply模块包括Master,Work和Client,参见architecture图的最上 部分。deploy主要负责启动和调度用户实现的Spark application并且分配资源给用户 application,类似于Hadoop YARN框架。scheduler:scheduler主要负责调度用户application内的 阅读全文
摘要:
尊重版权,原文:http://blog.csdn.net/macyang/article/details/7100523- Spark是什么?Spark is a MapReduce-like cluster computing framework designed to support low-latency iterative jobs and interactive use from an interpreter. It is written in Scala, a high-level language for the JVM, and exposes a clean language 阅读全文
摘要:
RDD是什么东西?在Spark中有什么作用?如何使用?1、RDD是什么(1)为什么会产生RDD?传统的MapReduce虽然具有自动容错、平衡负载和可拓展性的优点,但是其最大缺点是采用非循环式的数据流模型,使得在迭代计算式要进行大量的磁盘IO操作。RDD正是解决这一缺点的抽象方法(2)RDD的具体描述RDD(弹性数据集)是Spark提供的最重要的抽象的概念,它是一种有容错机制的特殊集合,可以分布在集群的节点上,以函数式编操作集合的方式,进行各种并行操作。可以将RDD理解为一个具有容错机制的特殊集合,它提供了一种只读、只能有已存在的RDD变换而来的共享内存,然后将所有数据都加载到内存中,方便进行 阅读全文
摘要:
本文前提是已经正确安装好scala,sbt以及spark了简述将程序挂载到集群上运行的步骤:1、构建sbt标准的项目工程结构:其中:~/build.sbt文件用来配置项目的基本信息(项目名、组织名、项目版本、使用的scala版本或者再次配置些项目所需的依赖包);project/build.properties文件配置你要使用什么版本的sbt对项目操作;project/plugins.sbt文件是给项目添加所需的插件;project/Build.scala文件是对项目进行些复杂的高级配置;详细的sbt安装配置实用参见博文:http://www.cnblogs.com/vincent-hv/p/3 阅读全文
摘要:
【转帖】原文地址:https://github.com/CSUG/real_world_scala/blob/master/02_sbt.markdown尊重版权,尊重他人劳动成果,转帖请注明原文地址使用SBT构建Scala应用SBT简介SBT是Simple Build Tool的简称,如果读者使用过Maven,那么可以简单将SBT看做是Scala世界的Maven,虽然二者各有优劣,但完成的工作基本是类似的。虽然Maven同样可以管理Scala项目的依赖并进行构建, 但SBT的某些特性却让人如此着迷,比如:使用Scala作为DSL来定义build文件(one language rules th 阅读全文
摘要:
强烈推荐一个s在线学习scala的网站:http://zh.scala-tour.com/#/overview 阅读全文
摘要:
本文翻自官方博客,略有添加:https://github.com/mesos/spark/wiki/Spark-Programming-GuideSpark发指南从高的面看,其实每一个Spark的用,都是一个Driver类,通运行用户定义的main函,在集群上行各种并发操作和算Spark提供的最主要的抽象,是一个性分布式据集(RDD),它是一种特殊集合,可以分布在集群的点上,以函式程操作集合的方式,行各种各样的并发操作。它可以由hdfs上的一个文件建而,或者是Driver程序中,从一个已经存在的集合而。用户可以据集存在存中,它被有效的重用,行并发操作。最后,分布式据集可以自动的从点失中恢复,再 阅读全文
摘要:
因为我只需要这么多设置,所以就只写这么多了sudo gedit /etc/rc.localecho -n 240 > /sys/devices/platform/i8042/serio1/serio2/speedecho -n 240 > /sys/devices/platform/i8042/serio1/serio2/sensitivity两个数字是可以根据需要自己调整的(最大值是255);如果只是暂时修改的话,那么就一root用户执行上面两句命令就行了好吧,这招其实在我的电脑上没有用,参见此文张http://b.crhan.com/2011/05/thinkpad_track 阅读全文
摘要:
除了部署在Mesos之上, Spark也支持独立部署模式,包括一个Spark master进程和多个Spark worker进程.独立部署模式可以运行在单机上作为测试之用,也可以部署在集群上.如果你打算部署在集群上,可以使用我们提供的部署脚本启动一个集群。现在开始吧使用sbt package对进行编译,可以参考开始指南。如果打算部署单独模式,就不需要安装Mesos.手动方式启动集群通过如下命令启动单独模式的master服务:./runspark.deploy.master.Master一旦启动,master就会输出spark://IP:PORT以提示连接workers的方式。也可以通过参数“m 阅读全文
摘要:
快速开始本文将介绍如何用scala、java、python编写一个spark单击模式的程序。首先你只需要在一台机器上成功建造Spark;做法:进入Spark的根目录,输入命令:$sbt/sbt package(由于天朝伟大的防火墙,大陆地区是无法成功的,除非你可以顺利FQ),不想爬墙的可以下载预编译好的Spark,spark-0.7.2-prebuilt-hadoop1.tgz.gzSpark shell的交互式分析一、基础概念:Spark的交互式脚本是一种学习API的简单途径,也是分析数据集交互的有力工具。在Spark根目录运行:./spark-shellSpark抽象的分布式集群空间叫做R 阅读全文
摘要:
1、map在列表中的每个元素上计算一个函数,并且返回一个包含相同数目元素的列表。scala> numbers.map(_ * 2)res3: Array[Int] = Array(2, 4, 6, 8)2、foreach和map一样对序列中的每个元素操作,不同的是无返回值scala> numbers.foreach(println(_))12343、filter移除任何使得传入的函数返回false的元素。返回Boolean类型的函数一般都称为断言函数。scala> numbers.filter(_ % 2 == 0)res5: Array[Int] = Array(2, 4) 阅读全文
摘要:
一、数组相关操作1、to 和 until 的区别与运用0 to 10res1: Range(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)0 until 10res2:Range(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)5 to 14 by 3res3: Range(5, 8, 11, 14)10 to 0 by -1res4:Range(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)5 until 14 by 3res5:Range(5, 8, 11)10 until 0 by -1res6: Range(10, 9, 8, 7, 6 阅读全文
摘要:
算法的概念不做过都解释,google一下一大把。直接贴上代码,有比较详细的注释了。主程序: 1 import scala.io.Source 2 import scala.util.Random 3 4 /** 5 * @author vincent 6 * 7 */ 8 object LocalKMeans { 9 def main(args: Array[String]) {10 val fileName = "/home/vincent/kmeans_data.txt"11 val knumbers = 312 val ra... 阅读全文