所以,我有我的spark上下文sc,从中得到我的spark sql上下文,
val sqlContext = new SQLContext(sc)
sqlContext.sql("set spark.sql.shuffle.partitions=2")
有时我想使用2作为shuffle分区,但在其他时刻(可能同时)我想要200。 这个sqlContext在我的所有线程之间共享,这些属性如何在执行之间隔离?它们是全球性的吗?
谢谢!
答案 0 :(得分:0)
为了隔离不同执行之间的属性,可以通过在SQLContext本身上发出newSession()来获取新的SQLContext。 这样,你使用新创建的上下文所做的一切都存在于上下文中并在那里消亡。