Skip to content

Lance Hive Namespace

** Lance Hive Namespace** is an implementation using Apache Hive MetaStore (HMS). For more details about HMS, please read HMS AdminManual 2.x and HMS AdminManual 3.x.

Namespace Mapping

A HMS server can be viewed as the root Lance namespace, and a database in HMS maps to the first level Lance namespace to offer a 2-level Lance namespace as a whole.

Table Definition

A Lance table should appear as a Table object in HMS with the following requirements:

  1. the tableType must be set as EXTERNAL_TABLE to indicate this is not a managed Hive table
  2. the parameters must follow:
    1. there is a key table_type set to lance (case insensitive)
    2. there is a key managed_by set to either storage or impl (case insensitive). If not set, default to storage
    3. there is a key version set to the latest numeric version number of the table. This field will only be respected if managed_by=impl

Requirement for Implementation Managed Table

An update to the implementation managed table must use Hive's atomic update feature (HIVE-26882) and use the version parameter value to perform conditional update through alter_table_with_environment_context