问题:
最近遇到了一个很诡异的问题,运行pyspark程序的时候,有一个filter操作,每次运行的结果竟然不同。
试验环境:
两台服务器,一台起container,跑drive程序,用jupyter的方式连接到另外一台服务器上的pyspark集群。
运行过程中,由于算力有限,有时候会重启jupyter。
原因:
重启jupyter后,spark的session并没有完全退出,变成了幽灵。
再连接一个session后,session之间的数据就会串。
正确做法:
正确做法是每次重启jupyter前,应该使用spark.stop()关闭spark session。