Another alternative is to have an interceptor closure that wraps the Driver's HiveDriverRunHook. The interceptor closure will only be used for a CREATE TABLE.
It can be passed through HiveConf.ConfVar in SharkDriver when it detects a CREATE TABLE.

Driver#run() gets run hooks using this:

      driverRunHooks = getHooks(HiveConf.ConfVars.HIVE_DRIVER_RUN_HOOKS, HiveDriverRunHook.class);