流计算 Oceanus 元数据服务

为了让作业、数据探索等不同场景共用同一套库表元数据,避免在每个 Flink 作业里重复 `CREATE TABLE`,流计算 Oceanus 提供与独享集群、共享集群对等的元数据服务(HiveMetastore,以下简称 HMS),可在已有集群上一键开通,并通过下载的 `hive-hms-***.jar` (包含 hive-site.xml) 直接接入 Flink 作业的 HiveCatalog。

相关产品
流计算 Oceanus 产品页,含版本规格、价格与购买入口。

目前支持在集群上开通元数据服务,集群组下至多创建 1 套元数据服务。

一、注意事项

1. 一个集群组(ClusterGroup)有且仅能创建 1 套元数据服务;如需重新创建,请先在元数据服务页签执行删除。

2. 删除元数据服务不会自动停止引用 HMS 的作业,请在删除前确认下游作业已切换或停止,以免触发作业异常告警。

二、操作步骤

1. 在计算资源 > 进入目标集群页面 > 集群服务,开启元数据服务,开启所需要的资源将从集群的可用 CU 数中扣除。

2. 在弹出面板中填写以下配置项,单击确定后元数据服务进入初始化中状态,预计 5~10 分钟后变为运行中。

参数 描述
CPU HMS 容器 CPU 规格,建议不低于 1 核
内存 HMS 容器内存规格,建议不低于 4 GB
数量 副本数,默认 1;设置为 2 表示双副本
Warehouse 地址 HMS 默认数据仓库路径,使用 COS 桶路径
高级参数 如果 Warehouse 地址 是元数据加速桶时,需要填写以下参数:fs.AbstractFileSystem.ofs.impl: com.qcloud.chdfs.fs.CHDFSDelegateFSAdapterfs.ofs.impl: com.qcloud.chdfs.fs.CHDFSHadoopFileSystemAdapterfs.ofs.bucket.region: <YourRegion>fs.ofs.user.appid: <YourAppId>fs.ofs.tmp.cache.dir: /tmp/chdfs/fs.ofs.upload.flush.flag: true

3. 下载配置文件 hive-hms-***.jar。

其中包含 hive-site.xml 配置示例:

<configuration> <property> <name>hive.metastore.uris</name> <value>thrift://ip:9083</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>cosn://oceanus-warehouse-xxxx/hms/warehouse</value> </property></configuration>

三、Flink SQL 作业接入示例

前提:已开通元数据服务并下载 hive-hms-***.jar。

CREATE CATALOG hive_catalog WITH ( 'type' = 'hive', 'default-database' = 'default');USE CATALOG hive_catalog;CREATE DATABASE IF NOT EXISTS testdb2;USE testdb2;CREATE TABLE IF NOT EXISTS hive_sink_0529 ( `id` INT, `name` STRING, `amount` DOUBLE, `dt` STRING) PARTITIONED BY (`dt`) WITH ( 'connector' = 'hive', 'sink.partition-commit.trigger' = 'partition-time', 'sink.partition-commit.delay' = '1 min', 'sink.partition-commit.policy.kind' = 'metastore,success-file');USE CATALOG default_catalog;USE default_database;CREATE TABLE datagen_source ( `id` INT, `name` STRING, `amount` DOUBLE, `dt` AS DATE_FORMAT(CURRENT_TIMESTAMP, 'yyyy-MM-dd')) WITH ( 'connector' = 'datagen', 'rows-per-second' = '10', 'fields.id.kind' = 'sequence', 'fields.id.start' = '1', 'fields.id.end' = '1000000', 'fields.name.length' = '8', 'fields.amount.min' = '1.0', 'fields.amount.max' = '1000.0');INSERT INTO hive_catalog.testdb2.hive_sink_0529SELECT id, name, amount, dtFROM datagen_source;

通过作业 依赖管理上传至作业。

如果 Warehouse 地址是元数据加速 COS 桶,还需引用以下 jar 作为依赖:

·点此下载 chdfs_hadoop_plugin_network-3.5.jar

·点此下载 gson-2.9.1.jar

赞 (0)
上一篇 4天前
下一篇 4天前