DateFrame.Foreach中拼接的字符串数据丢失
来源:5-4 -C SparkSession的使用
小白学大数据
2019-08-22
var filterWordSb:String="("
jdbcfilterWordDF.foreach( x => {
filterWordSb=filterWordSb + x.getAs("filterWord").toString+")|("
println(filterWordSb) } )
filterWordSb+=")"
println(filterWordSb)
为什么最后打印的结果是(),foreach中拼接的全都没了
写回答
4回答
-
小白学大数据
提问者
2019-08-22
老师我知道原因了,DF是在woker上,filterWordList这个变量是在driver,即使在本地调试也不在一个进程里,所以拿不到,jdbcfilterWordDF.collect().foreach这样就可以了.
10 -
小白学大数据
提问者
2019-08-22
var filterWordList = ListBuffer[String]()
jdbcfilterWordDF.foreach(
x => {
filterWordList+=x.getAs("filterWord").toString
}
)
println( filterWordList.mkString(","))换了一种数据类型也是不行
00 -
小白学大数据
提问者
2019-08-22
老师,我想把dateframe中的某一列串起来该怎么写呢?
012019-08-22 -
Michael_PK
2019-08-22
你debug进去,如果不行就换种数据类型,看起来像是闭包的原因导致
00
相似问题