本文讲述如何通过spark-shell来调试scala代码文件,这样不需要IDE就可以对scala文件进行调试,在代码量较小的情况下比较适用。
有时候为了在spark-shell中调试一段代码,可以在spark-shell中使用:load 命令。如下:
val df3 = Seq((100,"xiaoming",30)).toDF("id", "name","age")
scala> :load /opt/testscala/test.scala
Loading /opt/testscala/test.scala...
df3: org.apache.spark.sql.DataFrame = [id: int, name: string ... 1 more field]
scala> df3.show()
+---+--------+---+
| id| name|age|
+---+--------+---+
|100|xiaoming| 30|
+---+--------+---+
通过这种方式可以对代码进行交互式调试,而且还能看到每一行执行的结果,在代码比较小的时候,比较方便。
可以通过spark-shell -i选项在启动spark-shell时,来加载和执行需要调试的scala代码文件。如下:
./bin/spark-shell -i /opt/testscala/test.scala
scala> df3.show()
+---+--------+---+
| id| name|age|
+---+--------+---+
|100|xiaoming| 30|
+---+--------+---+
也可以通过以下命令来记载scala代码片段:
./bin/spark-shell < test.scala
但这种方式是一次运行的,代码执行完成后就spark-shell就直接退出,没法对代码进行交互式调试。
本文讲述了如何通过spark-shell来调试运行scala代码,这样在调试scala代码时可以不使用IDE,在代码量较小时比较适用。