在window上提交spark代码到远程测试环境上运行

来源:互联网 发布:伦敦生活 知乎 编辑:程序博客网 时间:2024/06/05 04:34

测试代码:

package sparkcore

import org.apache.spark.{SparkConfSparkContext}

/**
  * Created by chingy on 2017/10/2.
  */
object WordCount {
  def main(args: Array[String]): Unit = {
    //Executor memory 419430400 must be at least 471859200
    val conf = new SparkConf().setAppName("WC").setMaster("spark://n1:7077").set("spark.executor.memory""500m")
    val sc = new SparkContext(conf)
    //必须要指定jar包,否则运行时报序列化错误,照说jar里也没什么序列化的类吧,主要就项目的pom文件?
    sc.addJar("file:///D:/WorksForScala/test/target/test-1.0-SNAPSHOT.jar")
    sc.textFile("hdfs://n1:9000/hello").cache()
      .flatMap(line => line.split("\t"))
      .map(word => (word1))
      .reduceByKey(_ + _)
      .saveAsTextFile("hdfs://n1:9000/remoteUser/result")
  }
}

需要注意的是:

1·本地用maven打包,并在运行程序中通过sc.addJar()进行设置

2·setMaster使用spark远程访问的schema

3·本地及hdfs的schema都要加上


参考网上文档:

1·远程测试需要指定jar包(java版本的):http://blog.csdn.net/xiaoshunzi111/article/details/77529175

2·spark的master支持的url:https://www.zhihu.com/question/23967309

原创粉丝点击