本文为你介绍如何在Flink全托管模式下配置Hive Metastore功能。
背景信息
您可以将Hive Metastore配置文件和Hadoop依赖存放至对象存储OSS控制台指定目录后,再在Flink全托管开发控制台上配置Hive Metastore功能,配置成功后,您就可以在Flink全托管开发控制台上直接使用DML创建业务逻辑,获取Hive中表的元数据信息,无需再使用DDL语句声明相应的表信息。使用Hive
Metastore功能需要注意以下几点:
- Hive Metastore版本需要为2.3.6。
- Hive Metastore不支持Kerberos鉴权。
- 一个Flink全托管实例仅支持一个Hive Metastore,多项目无法设置多Hive Metastore。
- Hive Metastore只读,即您不能通过Flink全托管开发控制台在Hive中创建物理表。
配置Hive Metastore服务
- 连通Hadoop集群和Flink全托管的VPC。
您可以使用云解析PrivateZone产品连通Hadoop集群和Flink全托管的VPC,详情请参见
解析器(Resolver)。网络连通后,Flink全托管就可以使用Hadoop集群的配置文件访问Hadoop集群。
- 登录OSS管理控制台。
- 在左侧导航栏,单击Bucket列表。
- 单击目标Bucket名称。
- 在左侧导航栏,单击文件管理。
- 新建文件夹,用于存放Hive配置文件和Hadoop依赖。
- Hive配置文件路径:oss://${bucket}/artifacts/namespaces/${ns}/${hms}/hive-conf-dir/
- Hadoop依赖路径:oss://${bucket}/artifacts/namespaces/${ns}/${hms}/hadoop-conf-dir/
其中:
- ${bucket} :您Flink全托管实例使用的Bucket名称。
- ${ns}:您要使用Hive Metastore功能的Flink全托管项目名称。
- ${hms}:您在Flink全托管上显示的Hive Metastore名称。
- 将您的Hive配置文件(hive-site.xml)放置到hive-conf-dir目录下。
- 将您的以下配置文件放置到hadoop-conf-dir目录下。
- hive-site.xml
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- 其他文件,例如Hive作业使用的压缩包。
- 登录实时计算统一控制台。
- 在Flink全托管页签,单击目标工作空间操作列下的开发控制台。
- 在左侧导航栏,单击SQL编辑器。
- 单击Scripts页签。
- 在页面左上角,单击新建文本。
- 在文本编辑区域,输入创建Hive Metastore的命令。
CREATE CATALOG ${HMS Name} WITH (
'type' = 'hive',
'default-database' = 'default',
'hive-version' = '2.3.6',
'hive-conf-dir' = '<hive-conf-dir>'
'hadoop-conf-dir' = '<hadoop-conf-dir>'
);
其中:
- ${HMS Name}:Hive Metastore名称。
- type:Connector类型,固定值为hive。
- default-database :默认数据库名称。
- hive-version:Hive Metastore版本号。
- hive-conf-dir:存放Hive配置文件的目录。
- hadoop-conf-dir:存放Hadoop依赖的目录。
- 单击运行。
Hive Metastore服务配置完成后,您就可以在作业中引用Hive Metastore表信息,作为结果表和维表,无需声明表的DDL。Hive Metastore表名称格式为
${hive-catlog-name}.${hive-db-name}.${hive-table-name}。
此外,如果您想停用Hive Metastore服务,详情请参见删除Hive Metasore服务。
查看Hive元数据
- 登录实时计算统一控制台。
- 在Flink全托管页签,单击目标工作空间操作列下的开发控制台。
- 在左侧导航栏,单击SQL编辑器。
- 单击Schemas页签。
- 在顶部菜单栏下拉框中,切换到目标Hive Metastore。
- 在Tables列查看不同数据库下的表和字段信息。
删除Hive Metasore服务
- 登录实时计算统一控制台。
- 在Flink全托管页签,单击目标工作空间操作列下的开发控制台。
- 在左侧导航栏,单击SQL编辑器。
- 单击Scripts页签。
- 在页面左上角,单击新建文本。
- 在文本编辑区域,输入以下命令。
Drop CATALOG ${HMS Name}
其中,HMS Name为您要删除的在Flink全托管开发控制台上显示的Hive Metastore名称。
注意 删除Hive Metastore服务不会影响已运行的作业,但对未上线或者作业需要暂停恢复的作业,均产生影响,请您谨慎操作。
- 单击运行。
在文档使用中是否遇到以下问题
更多建议
匿名提交