Skip to main content
Version: Preview

Hive

Experimental
Creates:
AssetsLineage

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The Hive plugin discovers databases, tables, views and materialized views from Apache Hive through HiveServer2. It captures columns with their Hive types and comments, partition and bucket layout, storage formats, table statistics and view queries, and creates lineage from a database to its objects, from base tables to views and along foreign key constraints.

Every table and view is named database.table, so mrn://table/hive/sales.orders is the orders table in the sales database. Sample data previews are supported.

Connecting

The plugin connects to HiveServer2 over Thrift, on the binary transport (port 10000) or the HTTP transport (transport: http, usually port 10001 and path cliservice). auth selects the mechanism HiveServer2 is configured with: NONE (the default, PLAIN SASL without a password check), NOSASL, LDAP (username and password) or KERBEROS. Kerberos needs a plugin binary built with go build -tags kerberos, which links the GSSAPI library; the published binaries are built without it.

Row counts and sizes come from the metastore statistics, so they are as fresh as the last ANALYZE TABLE or stats-collecting write. Hive 4 creates non-ACID tables as external tables, and object_type reports what Hive reports.

Example Configuration


host: "hive.internal"
port: 10000
auth: "LDAP"
username: "marmot_reader"
password: "secret"
databases:
- "sales"
- "marketing"
include_ddl: false
tags:
- "hive"
- "warehouse"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
authstringfalseAuthentication mechanism (NONE, NOSASL, LDAP, KERBEROS)
databases[]stringfalseDatabases to discover (all when empty)
exclude_databases[]stringfalseDatabases to skip
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
hoststringtrueHiveServer2 hostname or IP address
http_pathstringfalseEndpoint path for the http transport
include_columnsboolfalseInclude column information
include_ddlboolfalseStore the SHOW CREATE TABLE output in metadata
include_partitionsboolfalseCount the partitions of partitioned tables
include_statisticsboolfalseInclude row counts and sizes from table statistics
include_viewsboolfalseInclude views and materialized views
kerberos_service_namestringfalseService part of the HiveServer2 Kerberos principal
passwordstringfalsePassword, required for LDAP
portintfalseHiveServer2 port
sslboolfalseConnect over TLS
ssl_skip_verifyboolfalseSkip TLS certificate verification
tagsTagsConfigfalseTags to apply to discovered assets
transportstringfalseThrift transport (binary or http)
usernamestringfalseUsername (hive when empty)

Available Metadata

The following metadata fields are available:

FieldTypeDescription
bucket_columns[]stringColumns the table is bucketed by
column_namestringColumn name
commentstringDatabase comment
commentstringTable comment
compressedboolWhether the storage is marked compressed
createdstringCreation time (RFC 3339)
data_typestringHive data type as declared, complex types included
databasestringDatabase name
databasestringDatabase the object belongs to
ddlstringSHOW CREATE TABLE output, when include_ddl is set
default_expressionstringDefault value from a DEFAULT constraint
descriptionstringColumn comment
hive_versionstringHive version reported by the server
hoststringHiveServer2 hostname
input_formatstringHadoop input format class
is_nullableboolFalse when a NOT NULL constraint covers the column
is_partition_columnboolWhether the column is a partition column
is_primary_keyboolWhether the column is part of the primary key constraint
last_accessstringLast access time (RFC 3339), when Hive tracks it
last_ddlstringTime of the last DDL change (RFC 3339)
locationstringWarehouse location of the database
locationstringStorage location
num_bucketsintNumber of buckets, for bucketed tables
num_filesint64Number of files, from table statistics
object_typestringObject type (managed, external, view, materialized_view)
output_formatstringHadoop output format class
ownerstringDatabase owner
ownerstringObject owner
owner_typestringOwner type (USER, ROLE, GROUP)
parametersmap[string]stringDatabase properties (DBPROPERTIES)
parametersmap[string]stringTable properties not surfaced as their own field
partition_columns[]stringPartition columns
partition_countintNumber of partitions
partition_values[]stringFirst 20 partition specs (dt=2026-01-01)
portintHiveServer2 port
serdestringSerDe class
sort_columns[]stringColumns each bucket is sorted by
table_countintNumber of tables discovered in the database
table_namestringTable or view name
transactionalboolWhether the table is ACID (transactional)
view_countintNumber of views and materialized views discovered in the database