@Override
      public Object process(Node nd, Stack<Node> stack,
                            NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException {
        return null;
      }
TableAccessAnalyzer walks the operator graph from joins and group bys
to the table scan operator backing it. It checks whether the operators
in the path are pass-through of the base table (no aggregations/joins),
and if the keys are mapped by expressions that do not modify the bucket
for the key. If all the keys for a join/group by are clean pass-through
of the base table columns, we can consider this operator as a candidate
for improvement through bucketing.
ql/src/java/org/apache/hadoop/hive/ql/parse/TableAccessAnalyzer.java