Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We need to abstract a unified interface completely for all stuff contact with HMS and does not use Driver to execute DML. For supporting multiple version, we can add a shim middle layer to support multiple versions of HMS and allow user to specify the hive version in use. The task is divided into two steps. The first part is to complete the refactoring of the DML executor, and the second part is to support multiple versions of Hive.

Middle layer supports

we can use a wrapper to wrap a IMetaStoreClient and HiveShim , thus we can create different version of IMetaStoreClient by using HiveShim#getHiveMetastoreClient. The pseudocode below illustrates this process.

...