配置阿里云MaxCompute外部表

面向阿里云MaxCompute的配置方法

阿里云MaxCompute(旧称ODPS)具备兼容Hive的语法,ProtonBase 可以通过外部表方式与MaxCompute存储的表互通,实现查询加速和数据导入。当前仅支持数据保存在OSS,元数据在MaxCompute的场景。

安装扩展

安装extension,仅需要安装一次,如果已经安装过,可以忽略。

CREATE EXTENSION odps_fdw;  

创建MaxCompute外部服务器及授权

使用MaxCompute,存储在OSS上时:

-- odps_server for oss foreign tables                                  
CREATE SERVER odps_server FOREIGN DATA WRAPPER odps_fdw
OPTIONS (
    ODPS_ENDPOINT 'http://service.cn-hangzhou.maxcompute.aliyun.com/api',
    OSS_ENDPOINT  'https://oss-cn-hangzhou-internal.aliyuncs.com/'
);
-- create user mapping
CREATE USER MAPPING FOR public SERVER odps_server
OPTIONS (
    ODPS_ACCESS_ID 'LTAIxxxxxxxxxwEWq',
    ODPS_ACCESS_KEY 'HhVIxxxxxxxxxwMLNH4',
    OSS_ACCESS_ID 'LTAIxxxxxxxxxwEWq',
    OSS_ACCESS_KEY 'HhVZ8IxxxxxxxxxwMLNH4'
);
  • ODPS_ENDPOINT 参考上文ODPS_ENDPOINT的配置。

  • OSS_ENDPOINT 参考file_fdw章节的配置。

创建外表

-- 将 mc_project下的user_oss, orders_oss两个表创建为外表,元数据保存在public schema下。
IMPORT FOREIGN SCHEMA mc_project LIMIT TO
(
   users_oss, orders_oss
)
FROM SERVER odps_server INTO public;