解釋
適用於:磚的SQL磚運行時
為輸入語句提供邏輯或物理計劃。默認情況下,該子句隻提供物理計劃的信息。
參數
擴展
生成邏輯方案解析、邏輯方案分析、邏輯方案優化和物理方案。解析邏輯計劃是從查詢中提取的未解析計劃。已分析的邏輯計劃轉換將unresolvedAttribute和unresolvedRelation轉換為全類型對象。優化後的邏輯計劃通過一組優化規則進行轉換,從而產生物理計劃。
CODEGEN
生成語句(如果有)和物理計劃的代碼。
成本
如果計劃節點統計信息可用,則生成邏輯計劃和統計信息。
格式化
生成兩個部分:物理計劃大綱和節點詳細信息。
聲明
要解釋的SQL語句。
例子
——默認輸出>解釋選擇k,總和(v)從值(1,2),(1,3.)t(k,v)集團通過k;
+----------------------------------------------------+|計劃|+----------------------------------------------------+|= =物理計劃= =*(2)HashAggregate(鍵=[k#33],函數=[sum(轉換(v#34作為bigint))])+-交換hashpartitioning(k# 33,200), true, [id=#59]+-*(1)HashAggregate(鍵=[k#33],函數=[partial_sum(轉換(v#34作為bigint))])+-*(1)LocalTableScan[k# 33, v # 34)|+------------------------------------------------------使用擴展
>解釋擴展選擇k,總和(v)從值(1,2),(1,3.)t(k,v)集團通過k;
+----------------------------------------------------+ | 計劃 | +----------------------------------------------------+ | == 解析邏輯計劃= = '總[k], [' k, unresolvedalias(“sum (v),沒有一個)]+ -的SubqueryAlias”t“+ -”UnresolvedInlineTable [k、v],[列表(1、2),(3)]= =分析邏輯計劃= = k: int,總和(v):bigint聚合[k#47], [k#47, sum(cast(v#48 as bigint)) as sum(v)#50L] +- SubqueryAlias ' t ' +- LocalRelation [k#47, v#48] ==優化的邏輯計劃==聚合[k#47], [k#47, sum(cast(v#48 as bigint))) as sum(v)#50L] +- LocalRelation [k#47, v#48] ==物理計劃== *(2)HashAggregate(keys=[k#47],函數=[sum(cast(v#48 as bigint))],輸出=[k#47, sum(v)#50L]) +- Exchange哈希分區(k#47, 200), true, [id=#79] +- *(1) HashAggregate(keys=[k#47],函數= [partial_sum (cast (# 48 v為bigint))),輸出= [k # 47 # 52和l]) + - * (1) LocalTableScan [k # 47 # 48 v ] | +----------------------------------------------------+ -- 使用格式化的
>解釋格式化選擇k,總和(v)從值(1,2),(1,3.)t(k,v)集團通過k;
+----------------------------------------------------+|計劃|+----------------------------------------------------+|= =物理計劃= =*HashAggregate(4)+-交換(3.)+-*HashAggregate(2)+-*LocalTableScan(1)(1)LocalTableScan[codegenid:1]輸出:[kv # # 19日20)(2)HashAggregate[codegenid:1]輸入:[kv # # 19日20)(3.)交換輸入:[k和# # 19日24 l](4)HashAggregate[codegenid:2]輸入:[k和# # 19日24 l]|+----------------------------------------------------+