Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deacondesperado/nektar
A command line client for Apache Hive metastore implemented in Rust
https://github.com/deacondesperado/nektar
Last synced: 2 months ago
JSON representation
A command line client for Apache Hive metastore implemented in Rust
- Host: GitHub
- URL: https://github.com/deacondesperado/nektar
- Owner: DeaconDesperado
- License: mit
- Created: 2023-09-14T17:40:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-07T00:48:58.000Z (3 months ago)
- Last Synced: 2024-10-12T10:13:46.089Z (3 months ago)
- Language: Rust
- Size: 342 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nektar
A fast and lightweight command line interface for the [Apache Hive](https://hive.apache.org/) 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](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/hive/hive_catalog/), [Spark](https://spark.apache.org/docs/latest/sql-data-sources-hive-tables.html) and [Trino](https://trino.io/docs/current/connector/hive.html).More modern analytic table formats such as [Iceberg](https://iceberg.apache.org/docs/latest/hive/) and [Hudi](https://hudi.apache.org/docs/syncing_metastore/) 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](https://cloud.google.com/dataproc-metastore/docs/hive-metastore) and [AWS's Glue Data Catalog](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html) 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 MetastoreUsage: nektar [OPTIONS]
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:
Thrift metastore endpoint, eg: host.com:9083Options:
--format [default: json] [possible values: json, yaml]
-h, --help Print help
-V, --version Print version
```