PrestoのPlan

Prestoのコードを眺めていて、com.facebook.presto.execution.SqlQueryExecution#doAnalyzeQuery内で生成されるPlanを見てみたかったのでPrestoのJVMをアタッチしてPlanクラスの中を覗いてみた。

対象のクエリはこちら(catalogはtpch)。

select c.nationkey, count(1) from orders o 
join customer c on o.custkey = c.custkey
where o.orderpriority = '1-URGENT' group by c.nationkey

Planの結果はこれ。
f:id:komamitsu:20150405233413p:plain

Subplanを経由してのStageExecutionPlan:
f:id:komamitsu:20150426235803p:plain