gpt4 book ai didi

apache-spark - 使用什么工具来可视化逻辑和物理查询计划?

转载 作者:行者123 更新时间:2023-12-04 02:04:55 44 4
gpt4 key购买 nike

我很熟悉 explain() (也是 WebUI)。我很好奇是否有任何工具可以在优化之前/之后生成逻辑/物理计划的树结构图像。那就是explain()返回的信息作为图像。

最佳答案

像 PNG 或 JPG 这样的图片?我自己从未听说过,但您可以使用 Web UI(您已经提到过)查看物理计划。

查询执行的其他阶段可使用 TreeNode方法(在许多可以帮助你的方法中)给你我最喜欢的 numberedTreeString .

scala> println(q.queryExecution.analyzed.numberedTreeString)
00 Range (0, 5, step=1, splits=Some(8))

scala> println(q.queryExecution.executedPlan.numberedTreeString)
00 *Range (0, 5, step=1, splits=8)

您可以使用 toJSON 将输出保存为 JSON或 prettyJson生成PNG(但我自己从未尝试过)。
scala> println(q.queryExecution.executedPlan.prettyJson)
[ {
"class" : "org.apache.spark.sql.execution.WholeStageCodegenExec",
"num-children" : 1,
"child" : 0
}, {
"class" : "org.apache.spark.sql.execution.RangeExec",
"num-children" : 0,
"range" : [ {
"class" : "org.apache.spark.sql.catalyst.plans.logical.Range",
"num-children" : 0,
"start" : 0,
"end" : 5,
"step" : 1,
"numSlices" : 8,
"output" : [ [ {
"class" : "org.apache.spark.sql.catalyst.expressions.AttributeReference",
"num-children" : 0,
"name" : "id",
"dataType" : "long",
"nullable" : false,
"metadata" : { },
"exprId" : {
"product-class" : "org.apache.spark.sql.catalyst.expressions.ExprId",
"id" : 0,
"jvmId" : "cb497d01-3b90-42a7-9ebf-ebe85578f763"
},
"isGenerated" : false
} ] ]
} ]
} ]

关于apache-spark - 使用什么工具来可视化逻辑和物理查询计划?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44242201/

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