Spark学习一:搭建基于Gradle和Scale的Spark工程

现代软件开发中必须使用的一个开发工具是自动化构建工具,可以方便的划分软件的目录结构、编译、执行测试以及生成测试报告等,因此一开始学习Spark时也是按照标准的开发过程。

不管学习什么语言还是框架,第一个程序都是HelloWorld,因此我第的一个Spark程序是HelloSpark。接下来一步一步介绍基于gradle和scala的HelloSpark工程的建立过程。

详细步骤

  • 下载Spark安装包,请参考http://spark.apache.org/docs/latest/
  • 使用IntelliJ IDEA工具构建一个空的gradle工程,构建的结果如下:
    Spark学习一:搭建基于Gradle和Scale的Spark工程
  • 在空的gradle工程中添加src/main/scala和src/test/scala目录
  • 修改build.gradle如下:
plugins {
    id 'idea'
    id 'scala'
}

group 'com.learning.spark'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

sourceSets {
    main {
        scala {
            srcDirs = ['src/main/scala']
        }
    }

    test {
        scala {
            srcDirs = ['src/test/scala']
        }
    }
}

dependencies {
    implementation 'org.scala-lang:scala-library:2.11.12'

    //saprk dependencies
    implementation 'org.apache.spark:spark-core_2.11:2.4.0'

    testImplementation 'org.scalatest:scalatest_2.11:3.0.0'
    testImplementation 'junit:junit:4.12'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
  • 用gradle命令将工程打包成jar,如下:
./gradlew jar
  • 将jar包考到Spark环境中,执行如下命令执行jar包:
spark-submit --class com.selflearning.spark.HelloSpark HelloSpark-1.0-SNAPSHOT.jar ./README.md  ./output

源代码

请从HelloSpark下载源代码。