I have read the design doc of the Hive planner recently. I've found the Hive only uses calcite as a SQL optimizer. Translate the optimized relnode to hive operator tree, and then transfer it to the Tez execution DAG. [image: image.png] Why not implement the calcite adaptor, this way is easier to use calcite? The link of calcite daptor:https://calcite.apache.org/docs/adapter.html.