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:
- the tableType must be set as
EXTERNAL_TABLEto indicate this is not a managed Hive table - the parameters must follow:
- there is a key
table_typeset tolance(case insensitive) - there is a key
managed_byset to eitherstorageorimpl(case insensitive). If not set, default tostorage - there is a key
versionset to the latest numeric version number of the table. This field will only be respected ifmanaged_by=impl
- there is a key
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