gpt4 book ai didi

apache-spark - 在pyspark中捕获explain()的结果

转载 作者:行者123 更新时间:2023-12-04 05:04:20 25 4
gpt4 key购买 nike

在pyspark中,运行:
sdf = sqlContext.sql("""SELECT * FROM t1 JOIN t2 on t1.c1 = t2.c1 """)
然后:
sdf.explain(extended=True)
它打印查询执行的逻辑和物理计划。

我的问题是:如何捕获变量中的输出,而不是打印它?
v = sdf.explain(extended=True)自然,不起作用

最佳答案

如果查看 explain (2.4或更低版本)的源代码,您会发现:

def explain(self, extended=False):
if extended:
print(self._jdf.queryExecution().toString())
else:
print(self._jdf.queryExecution().simpleString())
因此,如果要直接检索解释计划,只需在数据帧上使用 _jdf.queryExecution()方法:
v = sdf._jdf.queryExecution().toString()  # or .simpleString()

3.0中,代码为:
print(
self._sc._jvm.PythonSQLUtils.explainString(self._jdf.queryExecution(), explain_mode)
)
删除打印件,您会得到 explain作为字符串。

关于apache-spark - 在pyspark中捕获explain()的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54124386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com