当我在Database ricks/PySpark中运行查询时,我收到以下错误:
org.apache.spark.SparkException: Could not execute broadcast in 300 secs. You can increase the timeout for broadcasts via spark.sql.broadcastTimeout or disable broadcast join by setting spark.sql.autoBroadcastJoinThreshold to -1
如何在数据库笔记本中以编程方式(Python)执行此操作?我尝试了以下方法:
>>> spark.sql.autoBroadcastJoinThreshold(-1)
result:
AttributeError: 'function' object has no attribute 'autoBroadcastJoinThreshold'
>>> spark.sql.autoBroadcastJoinThreshold = -1
result:
AttributeError: 'method' object has no attribute 'autoBroadcastJoinThreshold'
也许lark. sql.autoBroadcastJoinThreshold
是一个属性键,这个属性可以以某种方式设置为-1,但是我还没有找到任何描述如何使用Python完成此操作的留档。
可以在Spark设置的集群配置页面中指定这一点。
在我的join命令之前,我在数据库中使用了它,它起作用了:
spark.conf.set("spark.sql.broadcastTimeout" ,"-1")
您可以在集群配置中设置它,就像在接受的答案中一样。
此外,您可以在笔记本中设置: