zoukankan      html  css  js  c++  java
  • IDEA2017 maven Spark HelloWorld项目(本地断点调试)

    作为windows下的spark开发环境
    1.应用安装 首先安装好idea2017 java8 scalaJDK spark hadoop(注意scala和spark的版本要匹配)
    2.打开idea,创建建maven项目,如图所示

    项目创建好后,记得勾选maven auto upate选项,这个动作会触发idea自动下载maven依赖的包 

    3.修改pom文件如下 

    <properties>
      <scala.version>2.11.11</scala.version>
    </properties>
    
    <dependencies>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.4</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.specs</groupId>
        <artifactId>specs</artifactId>
        <version>1.2.5</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
    
    <configuration>
      <scalaVersion>${scala.version}</scalaVersion>
      <args>
        <arg>-target:jvm-1.8</arg>
      </args>
    </configuration>

    4.删除test文件夹(因为会报junit等错误),在scala下创建新scala Object

    并在Hello中加入main函数,最终Hello类如下 

    object Hello {
      def main(args: Array[String]): Unit = {
        println("main begin...............")
        // 设置Spark的序列化方式
        System.setProperty("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
        // 初始化Spark
        val sparkConf = new SparkConf().setAppName("sparkDemo")
        val sc = new SparkContext(sparkConf)
    
        val a = sc.parallelize(List(1,2,3,3))
        val b = a.map(x => x+1)
    
        //    textfileTest("C:/Users/think/Desktop/1.txt");
    
        val colors = Map("red" -> "#FF0000",
          "azure" -> "#F0FFFF",
          "peru" -> "#CD853F")
    
        val nums: Map[Int, Int] = Map()
    
        println( "colors 中的键为 : " + colors.keys )
        println( "colors 中的值为 : " + colors.values )
        println( "检测 colors 是否为空 : " + colors.isEmpty )
        println( "检测 nums 是否为空 : " + nums.isEmpty )
        println("main end...............")
      }
    }

    5.开始断点调试

    点击main方法左侧篮框,将会触发debug过程
    如果出现以下错误
    org.apache.spark.SparkException: A master URL must be set in your configuration
    需要在debug config中的vm options加入下面这一行参数
    -Dspark.master=local

    6.调试界面
    最终调试界面如下
     
  • 相关阅读:
    Java GUI学习心得
    Kettle6.0表输入连接数据库
    理解javascript继承 Minoz
    理解作用域 Minoz
    深入理解javascript作用域链 Minoz
    JavaScript数组总结 Minoz
    收获2.css圆角总结 Minoz
    一次前端作业的收获 Minoz
    深入理解闭包 Minoz
    理解javascript原型与原型链 Minoz
  • 原文地址:https://www.cnblogs.com/wzj4858/p/8204301.html
Copyright © 2011-2022 走看看