7 releases
0.0.7 | Jul 3, 2024 |
---|---|
0.0.6 | Jun 17, 2024 |
0.0.5 | Apr 25, 2024 |
0.0.4 | Oct 26, 2023 |
0.0.2 | Sep 21, 2023 |
#872 in Command line utilities
29 downloads per month
3MB
70K
SLoC
Nektar
A fast and lightweight command line interface for the Apache Hive metastore.
Motivation
Hive's metastore is ubiquitous in many big data deployments, whether the deployment in question makes use of the Hive execution engine or not. It is a common component that provides table virtualization for other distributed processing engines such as Flink, Spark and Trino.
More modern analytic table formats such as Iceberg and Hudi leverage Hive's metastore to some extent for the serving and storage layer of their metadata. Cloud data catalogs such as GCP's DataProc Metastore and AWS's Glue Data Catalog also implement the metastore interface.
Typically, operations against the metastore are done via these engines' catalog procedures, or in SQL DDL using the Hive Cli itself. There are limited options for calling the metastore's endpoints themselves directly. This project provides a lightweight command line interface to the metastore's Thrift endpoints directly, to allow lower-level debugging of metastore payloads without JVM startup overhead.
Usage
Install via cargo install
or download a binary directly from releases.
A fast, lightweight CLI for Hive Metastore
Usage: nektar [OPTIONS] <METASTORE_URL> <COMMAND>
Commands:
get-table Get a single table by database and table name
get-catalog Get a single catalog by name
get-catalogs Get a list of all catalogs in metastore
get-partitions Get the partitions of a table
get-partition-names-by-parts Get the partitions of a table by partition value
get-databases Get all databases in the metastore
create-catalog Create a catalog
create-table Create a table from a table definition file
list-tables Get tables in database with optional glob on name
drop-table Drop a single table by database and table name
help Print this message or the help of the given subcommand(s)
Arguments:
<METASTORE_URL> Thrift metastore endpoint, eg: host.com:9083
Options:
--format <FORMAT> [default: json] [possible values: json, yaml]
-h, --help Print help
-V, --version Print version
Dependencies
~7–16MB
~207K SLoC