我正在加入两个表,如下所示,程序停在日志行以下,永远不会继续。
INFO SparkContext:起始作业:Exchange.scala的RangePartitioner:79
可能是什么问题和可能的解决方案? columsn的数量是一个问题吗?任何建议将不胜感激。
表1有400行和450列 表2有1000行和100列
val table1= myTable1.as('table1)
val table2= myTable2.as('table2)
val results= table1.join(table2,LeftOuter,Some("table1.Id".attr === "table2.id".attr ))
println(results.count())
答案 0 :(得分:1)
您是否在Spark UI上看到了一些注册执行者的数量?
您可以选择收集驱动程序进程的jstack吗?
此外,如果您正在运行提交,请粘贴确切的命令。我认为 您可以使用较少数量的执行程序线程。
我希望以下链接有用
http://spark.apache.org/docs/latest/submitting-applications.html
答案 1 :(得分:0)
将中间RDD保存到磁盘应该可以解决问题。 rdd.saveAsTextFile(" filename")或rdd.saveAsParquetFile(" filename")