StarRocks-Hive Catalog 管理和查询内外部数据
1、Hive catalog
Hive Catalog 是一种 External Catalog。通过 Hive Catalog,您不需要执行数据导入就可以直接查询 Apache Hive™ 里的数据。此外,您还可以基于 Hive Catalog ,结合 INSERT INTO 能力来实现数据转换和导入。
StarRocks 从 2.3 版本开始支持 Hive Catalog。另外从 3.1 版本起,还支持访问 Hive Catalog 内的视图。
2、使用说明
-
StarRocks 查询 Hive 数据时,支持 Parquet、ORC 和 CSV 三种文件格式,其中:
- Parquet 文件支持 SNAPPY、LZ4、ZSTD、GZIP 和 NO_COMPRESSION 压缩格式。自 v3.1.5 起,Parquet 文件还支持 LZO 压缩格式。
- ORC 文件支持 ZLIB、SNAPPY、LZO、LZ4、ZSTD 和 NO_COMPRESSION 压缩格式。
- CSV 文件从 v3.1.5 起支持 LZO 压缩格式。
-
StarRocks 查询 Hive 数据时,不支持 INTERVAL、BINARY 和 UNION 三种数据类型。此外,对于 CSV 格式的 Hive 表,StarRocks 不支持 MAP、STRUCT 数据类型。
-
Hive Catalog 仅支持查询 Hive 数据,不支持针对 Hive 的写/删操作。
3、创建 Hive Catalog
CREATE EXTERNAL CATALOG <catalog_name> [COMMENT <comment>] PROPERTIES ( "type" = "hive", GeneralParams, MetastoreParams, StorageCredentialParams, MetadataUpdateParams )
StarRocks 访问 Hive 集群元数据服务的相关参数配置。
如果选择 HMS 作为 Hive 集群的元数据服务,请按如下配置 MetastoreParams:
4、常用语句
-- 查询当前所在 StarRocks 集群里所有 Catalog show catalogs; -- 查询某个 External Catalog 的创建语句 show create catalog <catalog_name>; -- 查看Catalog下所有数据库 SHOW DATABASES from <catalog_name>; -- 切换到目标 Hive Catalog 下的指定数据库 USE <catalog_name>.<db_name>; -- 看表结构和表文件存放位置 SHOW CREATE TABLE <catalog_name>.<database_name>.<table_name>; -- 查询表数据 select * from <catalog_name>.<database_name>.<table_name>; -- 删除某个catalog DROP Catalog <catalog_name>;
jdbcUrl示例:
jdbc:mysql://ip:port/catalog_name.db_name


浙公网安备 33010602011771号