Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-12755 implement HiveCatalog
  3. FLINK-12771

Support ConnectorCatalogTable in HiveCatalog

    XMLWordPrintableJSON

Details

    Description

      Currently HiveCatalog does not support ConnectorCatalogTable. There's a major drawback on this when it comes to real use cases, that is when Table API users set a HiveCatalog as their default catalog (which is very likely), they cannot create or use any inline table sources/sinks with their default catalog any more. It's really inconvenient for Table API users to use Flink for exploration, experiment, and production.

      There are several workaround in this case. E.g. users have to switch their default catalog, but that misses our original intention of having a default HiveCatalog; or users can register their inline source/sinks to Flink's default catalog which is a in memory catalog, but that not only require users to type full path of a table but also requires users to be aware of the Flink's default catalog, default db, and their names. In short, none of the workaround seems to be reasonable and user friendly.

      From another perspective, Hive has the concept of temporary tables that are stored in memory of Hive metastore client and are removed when client is shut down. In Flink, ConnectorCatalogTable can be seen as a type of session-based temporary table, and HiveCatalog (potentially any catalog implementations) can store it in memory. By introducing the concept of temp table, we could greatly eliminate frictions for users and raise their experience and productivity.

      Thus, we propose adding a simple in memory map for ConnectorCatalogTable in HiveCatalog to allow users create and use inline source/sink when their default catalog is a HiveCatalog.

      Attachments

        Issue Links

          Activity

            People

              phoenixjiangnan Bowen Li
              phoenixjiangnan Bowen Li
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m