Zeppelin0.8.1上操作spark2.0(master使用yarn模式)

@羲凡——只为了更好的活着

Zeppelin0.8.1上操作spark2.0(master使用yarn模式)

Hive解释器将被弃用并合并到JDBC解释器中。通过使用具有相同功能的JDBC解释器,可以使用Hive解释器。可结合官网查看如何操作 http://zeppelin.apache.org/docs/0.8.1/interpreter/spark.html

Zeppelin0.8.1的安装 https://blog.****.net/weixin_42003671/article/details/87010163 请参照我的这一篇博客,里面已经说明了一些Zeppelin操作spark的必要设置

1.登录8080界面后,点击右上角用户名进入interpreter

Zeppelin0.8.1上操作spark2.0(master使用yarn模式)

2.找到spark interpreter 查看并修改主要参数

Properties

name value
master yarn-client(或者yarn-cluster)
zeppelin.spark.concurrentSQL true(默认是false)

最后,点击下方的 Save 按钮,保存退出

3.测试

a. %spark

%spark
import org.apache.spark.sql.SparkSession
import org.apache.spark.SparkContext
val inpath = "/aarontest/data/oozie/sparkshell/wc.txt"
val outpath = "/aarontest/data/oozie/sparkshell/wcoutpath"+s"${System.currentTimeMillis()}"
val rdd = sc.textFile(inpath).filter(_.nonEmpty).flatMap(_.split("\t")).map((_,1))
.reduceByKey(_+_).map(_.swap).sortByKey(ascending = false,numPartitions = 1).map(_.swap)
rdd.saveAsTextFile(outpath)
%spark
val map1: Map[Int, String] = Map((1,"aa"),(2,"bb"),(3,"cc"))
val map2 = Map(1 -> "dd", 2 -> "ee", 3 -> "gg")
println(map1.getOrElse(2,0))
println(map1.getOrElse(20,"default"))

截图如下
Zeppelin0.8.1上操作spark2.0(master使用yarn模式)
b. %sql

%sql
select * from aarontest.stu_info limit 3

截图如下
Zeppelin0.8.1上操作spark2.0(master使用yarn模式)

4.现象、疑问、求助

我发现在执行一个spark任务后,yarn的8088界面上就会有一个任务一直在执行状态,只有在重启Zeppelin或修改了spark interpreter 的时候才会消失,这是为什么呢?我想在执行完一个spark任务后就能看到它的日志,这个如何做到?哪位大神知道告知一下吧。
Zeppelin0.8.1上操作spark2.0(master使用yarn模式)

====================================================================

@羲凡——只为了更好的活着

若对博客中有任何问题,欢迎留言交流