7 个版本
0.0.7 | 2024年7月3日 |
---|---|
0.0.6 | 2024年6月17日 |
0.0.5 | 2024年4月25日 |
0.0.4 | 2023年10月26日 |
0.0.2 | 2023年9月21日 |
#1978 在 命令行工具
416 每月下载量
3MB
70K SLoC
Nektar
Nektar 是 Apache Hive metastore 的快速、轻量级命令行界面。
动机
Hive 的 metastore 在许多大数据部署中都很普遍,无论相关的部署是否使用 Hive 执行引擎。它是提供其他分布式处理引擎(如 Flink、Spark 和 Trino)的表虚拟化的常见组件。
更现代的分析表格式,如 Iceberg 和 Hudi,在一定程度上利用 Hive 的 metastore 来提供其元数据的服务和存储层。云数据目录,如 GCP 的 DataProc Metastore 和 AWS 的 Glue Data Catalog,也实现了 metastore 接口。
通常,对 metastore 的操作是通过这些引擎的目录过程或使用 Hive Cli 的 SQL DDL 来完成的。直接调用 metastore 端点的选项有限。本项目直接提供轻量级命令行界面来访问 metastore 的 Thrift 端点,以便在不启动 JVM 的开销下进行底层调试。
用法
通过 cargo install
安装或直接从版本中下载二进制文件。
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
依赖项
~6–16MB
~188K SLoC