lse*_*ohn 11 scala intellij-idea apache-spark
我目前正在使用Intellij IDEA构建我的开发IDE.我的跟踪方式与http://spark.apache.org/docs/latest/quick-start.html完全相同
build.sbt文件
name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.7"
 libraryDependencies += "org.apache.spark" %% "spark-core" % "2.0.0"
Run Code Online (Sandbox Code Playgroud)
示例程序文件
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object MySpark {
    def main(args: Array[String]){
        val logFile = "/IdeaProjects/hello/testfile.txt" 
        val conf = new SparkConf().setAppName("Simple Application")
        val sc = new SparkContext(conf)
        val logData = sc.textFile(logFile, 2).cache()
        val numAs = logData.filter(line => line.contains("a")).count()
        val numBs = logData.filter(line => line.contains("b")).count()
        println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
    }
}
Run Code Online (Sandbox Code Playgroud)
如果我使用命令行:
sbt package
Run Code Online (Sandbox Code Playgroud)
然后
spark-submit --class "MySpark" --master local[4] target/scala-2.11/myspark_2.11-1.0.jar
Run Code Online (Sandbox Code Playgroud)
我能够生成jar包和spark运行良好.
但是,我想使用Intellij IDEA来调试IDE中的程序.如何设置配置,如果单击"debug",它将自动生成jar包并通过执行"spark-submit-"命令行自动启动任务.
我只是希望Intellij IDEA中的调试按钮上的"一键"一切都很简单.
谢谢.
San*_*hit 20
你可以简单地添加下面的火花选项
export SPARK_SUBMIT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7777 
Run Code Online (Sandbox Code Playgroud)
并按如下方式创建Debug配置
Rub-> Edit Configuration - >点击"+"左上角cornor - > Remote - >设置端口和名称
完成上述配置后,使用spark-submit或sbt run运行spark应用程序,然后运行在配置中创建的debug.并添加检查点以进行调试.