Spark 1.4 code structure

来源:互联网 发布:手机qq游戏大厅mac版 编辑:程序博客网 时间:2024/05/20 11:21
 tree -d -L 2
.
├── assembly//It creates a single tar.gz file that includes all needed dependency of the project, except for org.apache.hadoop.* jars that are supposed to be available from the deployed Hadoop cluster.
│   ├── src
│   └── target
├── bagel//Bagel是基于Spark的轻量级Pregel实现
│   ├── src
│   └── target
├── bin
├── build
│   ├── scala-2.10.4
│   └── zinc-0.3.5.3
├── conf
├── core
│   ├── src
│   └── target
├── data // For mlib 
│   └── mllib
├── dev //This directory contains scripts useful to developers when packaging, testing, or committing to Spark.
│   ├── audit-release
│   ├── create-release
│   └── tests
├── dist
│   ├── bin
│   ├── conf
│   ├── data
│   ├── ec2
│   ├── examples
│   ├── lib
│   ├── python
│   ├── sbin
│   └── tachyon
├── docker
│   ├── spark-mesos
│   └── spark-test
├── docs
│   ├── css
│   ├── img
│   ├── js
│   ├── _layouts
│   └── _plugins
├── ec2 //deploy.generic  README  spark-ec2  spark_ec2.py
│   └── deploy.generic
├── examples //java/      python/    r/         resources/ scala/
│   ├── src
│   └── target
├── external //flume  flume-sink  kafka  kafka-assembly  mqtt  twitter  zeromq
│   ├── flume
│   ├── flume-sink
│   ├── kafka
│   ├── kafka-assembly
│   ├── mqtt
│   ├── twitter
│   └── zeromq

├── extras //This directory contains build components not included by default in Spark's build. 

                      // java8-tests kinesis-asl spark-ganglia-lgpl

│   ├── java8-tests
│   ├── kinesis-asl
│   └── spark-ganglia-lgpl
├── graphx
│   ├── data
│   ├── src
│   └── target
├── launcher
│   ├── src
│   └── target
├── lib_managed
│   └── jars
├── mllib
│   ├── src
│   └── target
├── network
│   ├── common
│   ├── shuffle
│   └── yarn
├── project
│   └── project
├── python
│   ├── docs
│   ├── lib
│   ├── pyspark
│   └── test_support
├── R
│   └── pkg
├── repl
│   ├── scala-2.10
│   ├── scala-2.11
│   ├── src
│   └── target
├── sbin
├── sbt
├── sql
│   ├── catalyst
│   ├── core
│   ├── hive
│   └── hive-thriftserver
├── streaming
│   ├── src
│   └── target
├── target
│   ├── antrun
│   ├── classes
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── test-classes
│   └── tmp
├── tools //GenerateMIMAIgnore.scala?          JavaAPICompletenessChecker.scala  StoragePerfTester.scala
│   ├── src
│   └── target
├── unsafe //Facade java unsafe object 
│   ├── src
│   └── target
└── yarn // Spark yarn integration
    ├── src

    └── target


Bagel的官方说明摘录:

在Pregel的编程模型,jobs是作为一系列的迭代,称之为supersteps。在每一个superstep,每一个vertex在图里面,都作为一个用户指定的功能,可以更新和vertex相关联的状态,并发送消息,到其它的vertices,用于下一步的iteration。
Bagel的实现,是在Spark的RDD上进行操作,Keys是Vertex Ids,Values是vertices和它们的关联状态。在每一个superstep,Bagel在每一个Vertex上,运行一个用户指定的函数compute,该函数接受当前的顶点状态和一个系列从上一个superstep发送过来的Message作为输入,然后返回新的Vertex和一个系列的外播Message。

0 0
原创粉丝点击