湖上原地加速方案实施指南

"湖上原地加速"是指在不搬迁任何数据的前提下,通过 External Schema 直连现有的 Hive Metastore(HMS)和对象存储,用云器 Serverless 算力直接查询和加工数据。

适用场景:

  • POC 快速验证:1-2 天内看到性能对比效果,无需数据迁移
  • 存量业务加速:现有 Spark/Hive ETL 或 Presto/Trino Ad hoc 查询慢,需要提升效率
  • 联邦查询:数据分散在多个云厂商,需要统一查询入口

与数据迁移方案的区别:数据始终保留在原有对象存储(OSS/COS/S3)中,云器只负责计算,不存储数据。


实施前检查清单

在执行 SQL 前,确保以下基础设施已就绪:

  • 网络打通:通过 Private Link 打通云器 Lakehouse 到 Hive Metastore 的私有网络访问
  • 权限准备:获取对象存储的读取权限(AccessKey/SecretKey)
  • 元数据确认:确认 HMS 地址(URI)和需要对接的 Database 名称

SQL 实施步骤

第一步:创建存储连接(Storage Connection)

建立云器 Lakehouse 与对象存储之间的认证通道。

阿里云 OSS

CREATE STORAGE CONNECTION IF NOT EXISTS catalog_storage_oss TYPE OSS ACCESS_ID = 'LTAIxxxxxxxxxxxx' ACCESS_KEY = 'T8Gexxxxxxmtxxxxxx' ENDPOINT = 'oss-cn-hangzhou-internal.aliyuncs.com';

腾讯云 COS

CREATE STORAGE CONNECTION IF NOT EXISTS catalog_storage_cos TYPE COS ACCESS_KEY = 'AKIDxxxxxxxxxxxx' SECRET_KEY = 'T8Gexxxxxxmtxxxxxx' REGION = 'ap-shanghai' APP_ID = '1310000503';


第二步:创建目录连接(Catalog Connection)

指向 Hive Metastore 服务,并绑定上一步创建的存储连接。

CREATE CATALOG CONNECTION IF NOT EXISTS hms_conn TYPE HMS HIVE_METASTORE_URIS = 'thrift://192.168.x.x:9083' STORAGE_CONNECTION = 'catalog_storage_oss';


第三步:创建外部模式(External Schema)

将外部 HMS 的 Database 映射到云器 Lakehouse 中。

CREATE EXTERNAL SCHEMA IF NOT EXISTS original_db_name CONNECTION hms_conn OPTIONS (SCHEMA = 'original_db_name');


第四步:查询验证

-- 查看映射到的表列表 SHOW TABLES IN original_db_name; -- 查看表结构 DESCRIBE original_db_name.your_table; -- 执行查询验证性能 SELECT * FROM original_db_name.your_table WHERE dt = '20260506' LIMIT 10; -- ETL 加工:将外部数据写入 Lakehouse 内部表 INSERT INTO internal_schema.target_table SELECT * FROM original_db_name.your_table WHERE dt = '20260506';


推荐 POC 测试场景

场景原有技术栈加速目标
离线 ETL 加工Spark / Hive SQL提升 SQL 执行速度,缩短 T+1 产出时间
Ad hoc 数据探索Presto / Trino降低查询延迟,Serverless 按量计费

进阶场景(需数据迁移,视 POC 进度而定):

  • 增量计算:数据导入 Lakehouse 后,用动态表替代 Flink 实现流批一体
  • 高并发 OLAP:数据导入分析型 VCluster,提供亚秒级查询

注意事项

  • 命名一致性:External Schema 名称建议与原 HMS Database 名称保持一致,降低下游改造成本
  • 权限最小化:不要使用主账号 AK/SK,建议创建子账号并只授予 POC 涉及目录的读取权限
  • 只读限制:External Schema 下的表不支持 UPDATE/DELETE/TRUNCATE,ETL 写入需先落到 Lakehouse 内部表
  • 数据格式:支持 Parquet、ORC、CSV、JSON 等主流格式;非标准序列化格式需额外处理
  • 删除行为:DROP EXTERNAL SCHEMA 只删除 Lakehouse 中的映射关系,不影响 HMS 和对象存储中的原始数据

相关文档

联系我们
预约咨询
微信咨询
电话咨询