In the Flink-Hive integration design, we propose a new FlinkInMemoryCatalog (
FLINK-10697) for production use. FlinkInMemoryCatalog will share some part with the existing InMemoryExternalCatalog, thus we need to make changes to InMemoryExternalCatalog.
Background: there are two parallel efforts going on right now -
FLINK-10686, driven by Timo, includes moving external catalogs APIs from flink-table to flink-table-common, also from Scala to Java; FLINK-10744 I'm working on right now to integrate Flink with Hive and enhance external catalog functionality.
As discussed with @twalthr in
FLINK-10689, we'd better parallelize these efforts while introducing minimal overhead for integrating them later. An agreed way is to writing new code/feature related to external catalogs/hive in Java in flink-table. This way, it will minimize migration efforts later to move these new code into flink-table-common. If existing classes are modified for a feature we can start migrating it to Java in a separate commit first and then perform the actual feature changes, and migrated classes can be placed in flink-table/src/main/java until we find a better module structure.
Therefore, we will port InMemoryExternalCatalog to java first. This PR only port scala to java with NO feature or behavior change. This is a pre-requisite for