带有RDD foreach的Zeppelin Spark println不在笔记本上显示

时间:2018-11-05 17:45:37

标签: scala apache-spark rdd apache-zeppelin println

我将Zeppelin与Spark(Scala)一起使用

Expression

但是,到目前为止,笔记本中什么都没打印。我确实尝试使用val sparkLicTextFilePath = "/home/tt/Software/spark-2.3.2-bin-hadoop2.7/LICENSE" val licLines = sc.textFile(sparkLicTextFilePath) licLines.foreach(line=>println(line)) 来查看RDD是否为空。 RDD正常,可以正确加载文件。

这是齐柏林飞艇笔记本的屏幕截图

zeppelin_println

有关Zeppelin和spark版本的一些信息

zeppelin 0.8.0

Zeppelin 0.8.0

Spark 2.3.2

火花2.3.2

2 个答案:

答案 0 :(得分:1)

尝试打印licLines的几行而不是全部。 齐柏林飞艇可能无法打印整个文件。

尝试:

val fewLicLines = licLines.take(5)
fewLicLines.foreach(line=>println(line))

答案 1 :(得分:0)

我有类似的问题。

%spark
import org.apache.commons.io.IOUtils
import java.net.URL
import java.nio.charset.Charset

val rdd = sc.textFile("some/file")
val rdd1 = rdd.map(s => s.split(",")).map(l => (l(2), 1)).reduceByKey(_ + _)
val rdd6 = rdd1.map(a=>(a._2,a._1)).sortByKey(ascending = false)

// this line shows blank
rdd6.collect().foreach(println)
// this also does not print
println("hello from scala")

//this works, but is DF not RDD
rdd6.toDF().show(200)

经过一些检查,我发现问题出在Zeppelin版本(zeppelin-0.8.1-bin-all)。下一个版本中修复了一个错误,因此我切换到了0.8.2。版本。

这对我有用。