w***s 发帖数: 2658 | 1 我来给个摘编:
大数据系统的核心主要是分布式处理框架,因为框架负责工作(job )执行的方方面面
,如工作分解、任务(task)调度与执行、错误容忍、数据流等等。这其中重要的早期
工作是Google的MapReduce框架,它将函数式编程思想引入到分布式数据处理中,仅仅
依托两个函数(map和reduce)不仅解决了一大类的大数据批处理问题,而且用户也再
也不用担心分布式带来的诸多系统层面问题。不过MapReduce缺点也很显著,比如处理
流程过于固定,不支持迭代,工作执行时间一般较长,等等。Hadoop是MapReduce的开
源实现,在国内很流行,而且在08年的时候赢得了TeraSort的冠军,所以市场很蔓延,
形成了庞大而臃肿的生态圈。此后,微软在08年推出了与 MapReduce直接竞争的Dryad
,以DAG型的数据流取代了MapReduce固定的数据流,更复杂但功能更强。09年出现的
DryadLINQ将更多的函数式思想(主要来源于C#的LINQ)引入到分布式编程范型中,这
些即使在今天看来也很先进。再此后Spark出现了,Spark最大的特点在于她的数据模型
采用RDD,以前的框架都把数据当成原始的KV键值对,整个处理流程中不同阶段的数据
没有明确关系。RDD则给出了明确的数据逻辑关系,建立了数据依赖及数据模型,最后
也能方便地将数据模型转化为具体的处理任务。Spark的编程范型应该是借鉴了
DryadLINQ的范型。至于内存cache、迭代计算等特性,只要把MapReduce或Dryad的实现
机制改动一下也可以完成。当然这些特性对减低工作执行时间很重要,因而也是Spark
的髙光点。对应地,EPFL的Scala语言以学院派的特质、函数式、静态 类型、面向对象
、Java兼容等优点,成了Spark的有力武器。现在不少人认为 Scala会是Java的接班人
。 |
X***n 发帖数: 366 | 2 big data is teenager sex.
Everybody is talking about it. No one really knows how to do it. Everybody
thinks everybody else is doing it. So, everybody is claiming they are doing
it. |
b*****o 发帖数: 715 | 3 大赞大牛的摘要!!
第一次听说spark,刚刚看了一下文档,有一个疑问。就计算模型而言,spark和Dryad/
Flume几乎一样。我可以想像它做了一些infrastruture的优化(比如memory caching),
从而大大降低了network cost和disk read/write cost。但是它貌似对于迭代算法依旧
不是很有效。
就文档里给的logistic regression的例子:
val points = spark.textFile(...).map(parsePoint).cache()
var w = Vector.random(D) // current separating plane
for (i <- 1 to ITERATIONS) {
val gradient = points.map(p =>
(1 / (1 + exp(-p.y*(w dot p.x))) - 1) * p.y * p.x
).reduce(_ + _)
w -= gradient
}
println("Final separating plane: " + w)
每个基本步还是MR,而外层的for loop不是并行的。
Dryad
【在 w***s 的大作中提到】 : 我来给个摘编: : 大数据系统的核心主要是分布式处理框架,因为框架负责工作(job )执行的方方面面 : ,如工作分解、任务(task)调度与执行、错误容忍、数据流等等。这其中重要的早期 : 工作是Google的MapReduce框架,它将函数式编程思想引入到分布式数据处理中,仅仅 : 依托两个函数(map和reduce)不仅解决了一大类的大数据批处理问题,而且用户也再 : 也不用担心分布式带来的诸多系统层面问题。不过MapReduce缺点也很显著,比如处理 : 流程过于固定,不支持迭代,工作执行时间一般较长,等等。Hadoop是MapReduce的开 : 源实现,在国内很流行,而且在08年的时候赢得了TeraSort的冠军,所以市场很蔓延, : 形成了庞大而臃肿的生态圈。此后,微软在08年推出了与 MapReduce直接竞争的Dryad : ,以DAG型的数据流取代了MapReduce固定的数据流,更复杂但功能更强。09年出现的
|
p****o 发帖数: 1340 | 4 哈哈,看大家的帖子,省了好多时间去寻找。
logistic regression的算法本身是顺序的,没有什么framework可以一般地
并行处理这种迭代算法的。在mahout中,logistic是用stochastic gradient
descent计算的,每步之间也不是并行的。可以利用的一点是让每一个节点
把中间计算值提前送到reducer,这样计算的时候不用等待需要的数据。
Dryad/
【在 b*****o 的大作中提到】 : 大赞大牛的摘要!! : 第一次听说spark,刚刚看了一下文档,有一个疑问。就计算模型而言,spark和Dryad/ : Flume几乎一样。我可以想像它做了一些infrastruture的优化(比如memory caching), : 从而大大降低了network cost和disk read/write cost。但是它貌似对于迭代算法依旧 : 不是很有效。 : 就文档里给的logistic regression的例子: : val points = spark.textFile(...).map(parsePoint).cache() : var w = Vector.random(D) // current separating plane : for (i <- 1 to ITERATIONS) { : val gradient = points.map(p =>
|
l*******m 发帖数: 1096 | 5 是的。现在有些方法是用parallel去加快收敛
http://static.googleusercontent.com/media/research.google.com/e
有一次会上,他们说google已经run in production了
【在 p****o 的大作中提到】 : 哈哈,看大家的帖子,省了好多时间去寻找。 : logistic regression的算法本身是顺序的,没有什么framework可以一般地 : 并行处理这种迭代算法的。在mahout中,logistic是用stochastic gradient : descent计算的,每步之间也不是并行的。可以利用的一点是让每一个节点 : 把中间计算值提前送到reducer,这样计算的时候不用等待需要的数据。 : : Dryad/
|
l******n 发帖数: 9344 | 6 是不是坑,每个人的理解不一样。
只要有需求,有工作,pay得好,跳了这个坑又有啥不好?
Dryad
【在 w***s 的大作中提到】 : 我来给个摘编: : 大数据系统的核心主要是分布式处理框架,因为框架负责工作(job )执行的方方面面 : ,如工作分解、任务(task)调度与执行、错误容忍、数据流等等。这其中重要的早期 : 工作是Google的MapReduce框架,它将函数式编程思想引入到分布式数据处理中,仅仅 : 依托两个函数(map和reduce)不仅解决了一大类的大数据批处理问题,而且用户也再 : 也不用担心分布式带来的诸多系统层面问题。不过MapReduce缺点也很显著,比如处理 : 流程过于固定,不支持迭代,工作执行时间一般较长,等等。Hadoop是MapReduce的开 : 源实现,在国内很流行,而且在08年的时候赢得了TeraSort的冠军,所以市场很蔓延, : 形成了庞大而臃肿的生态圈。此后,微软在08年推出了与 MapReduce直接竞争的Dryad : ,以DAG型的数据流取代了MapReduce固定的数据流,更复杂但功能更强。09年出现的
|
e*******n 发帖数: 872 | |
z****e 发帖数: 54598 | 8 spark5月底刚刚release1.0版
现在去搞不迟,说能比hadoop快10x
目前语言支持java, python&scala
python还是jython,所以3.x还不行,应该是2.5 |
z****e 发帖数: 54598 | 9 2.6
看了下,可以用numpy在spark上
scipy不行,很大的进步 |
d****i 发帖数: 4809 | 10 不同意最后一句,学院派YY搞了很多年了,始终想把fp来蒙混人民群众,现在几十年了
好不容易搞到一个支点,但是你说scale要想代替Java,傻子才相信。
Dryad
【在 w***s 的大作中提到】 : 我来给个摘编: : 大数据系统的核心主要是分布式处理框架,因为框架负责工作(job )执行的方方面面 : ,如工作分解、任务(task)调度与执行、错误容忍、数据流等等。这其中重要的早期 : 工作是Google的MapReduce框架,它将函数式编程思想引入到分布式数据处理中,仅仅 : 依托两个函数(map和reduce)不仅解决了一大类的大数据批处理问题,而且用户也再 : 也不用担心分布式带来的诸多系统层面问题。不过MapReduce缺点也很显著,比如处理 : 流程过于固定,不支持迭代,工作执行时间一般较长,等等。Hadoop是MapReduce的开 : 源实现,在国内很流行,而且在08年的时候赢得了TeraSort的冠军,所以市场很蔓延, : 形成了庞大而臃肿的生态圈。此后,微软在08年推出了与 MapReduce直接竞争的Dryad : ,以DAG型的数据流取代了MapReduce固定的数据流,更复杂但功能更强。09年出现的
|
|
|
d****i 发帖数: 4809 | 11 工业界的人对学校里面学院派搞出来的这些骗人的FP: lisp, scheme, haskell, scala
等等表示毫无用处,适合自己YY,不要试图蒙混过关,浑水摸鱼,绑架传统语言。
Dryad
【在 w***s 的大作中提到】 : 我来给个摘编: : 大数据系统的核心主要是分布式处理框架,因为框架负责工作(job )执行的方方面面 : ,如工作分解、任务(task)调度与执行、错误容忍、数据流等等。这其中重要的早期 : 工作是Google的MapReduce框架,它将函数式编程思想引入到分布式数据处理中,仅仅 : 依托两个函数(map和reduce)不仅解决了一大类的大数据批处理问题,而且用户也再 : 也不用担心分布式带来的诸多系统层面问题。不过MapReduce缺点也很显著,比如处理 : 流程过于固定,不支持迭代,工作执行时间一般较长,等等。Hadoop是MapReduce的开 : 源实现,在国内很流行,而且在08年的时候赢得了TeraSort的冠军,所以市场很蔓延, : 形成了庞大而臃肿的生态圈。此后,微软在08年推出了与 MapReduce直接竞争的Dryad : ,以DAG型的数据流取代了MapReduce固定的数据流,更复杂但功能更强。09年出现的
|
u***n 发帖数: 10554 | 12 lol,很形象。
doing
【在 X***n 的大作中提到】 : big data is teenager sex. : Everybody is talking about it. No one really knows how to do it. Everybody : thinks everybody else is doing it. So, everybody is claiming they are doing : it.
|
C**********r 发帖数: 8189 | |
l*********s 发帖数: 5409 | |
r********n 发帖数: 7441 | 15 Big data 应该包含 storage, process 和 analytics
Map reduce只是支撑 process 很小的一块
Dryad
【在 w***s 的大作中提到】 : 我来给个摘编: : 大数据系统的核心主要是分布式处理框架,因为框架负责工作(job )执行的方方面面 : ,如工作分解、任务(task)调度与执行、错误容忍、数据流等等。这其中重要的早期 : 工作是Google的MapReduce框架,它将函数式编程思想引入到分布式数据处理中,仅仅 : 依托两个函数(map和reduce)不仅解决了一大类的大数据批处理问题,而且用户也再 : 也不用担心分布式带来的诸多系统层面问题。不过MapReduce缺点也很显著,比如处理 : 流程过于固定,不支持迭代,工作执行时间一般较长,等等。Hadoop是MapReduce的开 : 源实现,在国内很流行,而且在08年的时候赢得了TeraSort的冠军,所以市场很蔓延, : 形成了庞大而臃肿的生态圈。此后,微软在08年推出了与 MapReduce直接竞争的Dryad : ,以DAG型的数据流取代了MapReduce固定的数据流,更复杂但功能更强。09年出现的
|
C**********r 发帖数: 8189 | 16 Big data and data science are both over-hyped. Regardless, it doesn't hurt
to learn new skills all the time. |