对接HiveMetaStore,拥抱开源大数据

💡 原文中文,约7600字,阅读约需18分钟。
📝

内容提要

本文介绍了GaussDB(DWS)与HiveMetaStore的对接配置和指导,通过创建external schema实现直接查询和插入Hive/Spark表,无需担心表定义变化。对接流程包括创建Server、external schema和SQL查询。准备环境后,在Hive端创建表并导入数据,然后创建外部服务器和external schema,最后执行数据导入和查询操作。

🔎

延伸解读

external schema 与普通 schema 的关键差异

文章指出,external schema 与普通 schema 都记录在 pg_namespace 中,但可通过 nsptype 字段区分。external schema 的连接配置信息额外存储在 pg_external_namespace 中。更重要的是,external schema 下不支持创建表对象,表必须在 Hive 或 Spark 中创建,external schema 仅用于执行 DML 操作。这意味着用户不能通过 DWS 在 external schema 中建表,只能查询或插入数据。

对接时需注意的元数据同步机制

GaussDB(DWS) 通过 external schema 对接 HiveMetaStore,每次查询时主动获取 Hive/Spark 表对象的元数据,而不是依赖内核通过 create foreign table 获取。因此,当 Hive/Spark 表定义发生变化时,DWS 无需手动更新表定义,能自动感知元数据变化。这降低了维护成本,但也意味着查询性能可能受元数据获取过程影响。

创建外部服务器的两种方式及安全建议

文章提到创建 OBS 外部服务器有两种方式:使用永久 AK/SK 或通过云上 DWS 绑定 ECS 委托。前者需要明文输入 AK/SK,存在安全风险,不建议采用。后者通过管控面创建,更安全。此外,认证用的 AK 和 SK 硬编码或明文存储都有风险,建议在配置文件或环境变量中密文存放,使用时解密。DWS 内部会对 SK 做加密处理,传输过程中无需担心泄漏。

环境准备与网络要求

对接前需已创建 DWS 3.0 集群和 MRS 分析集群,并确保两者在同一区域、可用区、同一 VPC 子网内,保证集群网络互通。同时需要获取 AK 和 SK。这些前提条件若未满足,后续创建外部服务器和 external schema 可能失败。因此,在开始配置前应仔细检查网络和权限准备情况。

❓

Q&A

GaussDB(DWS)如何与HiveMetaStore对接?

GaussDB(DWS)通过创建external schema与HiveMetaStore对接,实现直接查询和插入Hive/Spark表。

什么是HiveMetaStore,它的作用是什么?

HiveMetaStore是Apache Hive的元数据存储库,管理Hive/Spark表的元数据信息,提供查询和分析服务。

创建external schema时需要注意哪些事项?

创建external schema时需指定连接属性值,且不支持创建表对象,表对象需在Hive或Spark中创建。

在对接过程中,如何确保DWS和MRS集群的网络互通?

需确保DWS和MRS集群在同一网络内,并获取AK和SK以便进行连接。

如何在Hive端创建需要对接的表?

在Hive客户端中执行SQL语句创建数据库和表,并导入数据。

执行数据导入时,如何从Hive表导入到DWS表?

使用INSERT INTO语句从Hive表导入数据到DWS表,确保表结构一致。

🏷️

标签

➡️

继续阅读