Spark分布式Louvain模块化算法项目教程
1. 项目的目录结构及介绍
spark-distributed-louvain-modularity/
├── dga-graphx/
│ ├── src/
│ │ └── main/
│ │ └── scala/
│ │ └── com/
│ │ └── soteradefense/
│ │ └── dga/
│ │ └── graphx/
│ │ └── louvain/
│ │ ├── LouvainCore.scala
│ │ └── ...
│ ├── LICENSE
│ ├── README.md
│ └── build.gradle
├── bin/
│ └── louvain
└── ...
dga-graphx/
: 包含项目的主要源代码和构建文件。src/main/scala/com/soteradefense/dga/graphx/louvain/
: 包含Louvain算法的核心实现。LICENSE
: 项目许可证文件。README.md
: 项目说明文档。build.gradle
: 项目的构建配置文件。
bin/
: 包含可执行脚本,用于启动Louvain算法。
2. 项目的启动文件介绍
项目的启动文件是bin/louvain
,这是一个可执行脚本,用于在Spark集群上运行Louvain算法。
Usage: class com.soteradefense.dga.graphx.louvain.Main$ [options] [<property>=<value>]
-i <value> | --input <value> input file or path (Required)
-o <value> | --output <value> output path (Required)
-m <value> | --master <value> spark master (local[N] or spark://host:port, default=local)
-h <value> | --sparkhome <value> SPARK_HOME (Required to run on cluster)
-n <value> | --jobname <value> job name
-p <value> | --parallelism <value> sets spark default parallelism and minSplits on the input RDD
3. 项目的配置文件介绍
项目的配置文件主要是build.gradle
,这是一个Gradle构建脚本,用于配置项目的构建过程。
// build.gradle
apply plugin: 'scala'
repositories {
mavenCentral()
}
dependencies {
compile 'org.scala-lang:scala-library:2.10.4'
compile 'org.apache.spark:spark-core_2.10:1.3.0'
compile 'org.apache.spark:spark-graphx_2.10:1.3.0'
}
task dist(type: Zip) {
from 'build/libs'
into('lib') {
from configurations.runtime
}
into('bin') {
from 'bin'
}
}
apply plugin: 'scala'
: 应用Scala插件。repositories { mavenCentral() }
: 指定依赖库的仓库。dependencies { ... }
: 指定项目依赖的库。task dist(type: Zip) { ... }
: 定义一个任务,用于打包项目。