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
)

MetastoreParams

  StarRocks 访问 Hive 集群元数据服务的相关参数配置。

Hive metastore

  如果选择 HMS 作为 Hive 集群的元数据服务,请按如下配置 MetastoreParams

  "hive.metastore.type" = "hive",
  "hive.metastore.uris" = "<hive_metastore_uri>"

 

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

 

 


posted @ 2023-12-06 10:52  LUDAGOGO  阅读(1704)  评论(0)    收藏  举报