使用限制
Hologres从V1.1版本开始,默认支持导出至MaxCompute,如果您的Hologres实例版本低于V1.1,请在insert
语句前添加以下语句。
--V0.9和V0.10版本需要使用以下参数
set hg_experimental_enable_write_maxcompute = on;
暂不支持使用SQL将数据导出至MaxCompute的Transactional表。
操作流程
-
在Hologres准备一张Hologres内部表(例如:holo_source),用于导出数据至MaxCompute。
-
在MaxCompute准备一张MaxComute表用于接收数据(例如mc_sink)。
-
在Hologres新建一张外部表,用于映射MaxCompute表(例如 mapping_foreign_table)。
-
在Hologres通过SQL语句导出数据至MaxCompute。
--导出部分字段 insert into mapping_foreign_table select x,x,x from holo_soruce;--x,x,x可以替换为您需要导出的字段名 --导出全部字段 insert into mapping_foreign_table select * from holo_soruce;
非分区表导出至MaxCompute非分区表
1.准备Hologres数据源表
在Hologres中准备一张数据表,用于将数据导出至MaxCompute。示例选择已有表其DDL如下:
BEGIN;
CREATE TABLE "public"."bank" (
"age" int8,
"job" text,
"marital" text,
"education" text,
"card" text,
"housing" text,
"loan" text,
"contact" text,
"month" text,
"day_of_week" text,
"duration" text,
"campaign" int8,
"pdays" float8,
"previous" float8,
"poutcome" text,
"emp_var_rate" float8,
"cons_price_idx" float8,
"cons_conf_idx" float8,
"euribor3m" float8,
"nr_employed" float8,
"y" int8
);
COMMIT;
2.创建MaxCompute目标表
在MaxCompute中创建一张目标表,用于接收数据,字段顺序与字段类型需要与Hologres表逐一对应。
CREATE TABLE IF NOT EXISTS mc_bank
(
age BIGINT COMMENT '年龄',
job STRING COMMENT '工作类型',
marital STRING COMMENT '婚否',
education STRING COMMENT '教育程度',
card STRING COMMENT '是否有信用卡',
housing STRING COMMENT '房贷',
loan STRING COMMENT '贷款',
contact STRING COMMENT '联系途径',
month STRING COMMENT '月份',
day_of_week STRING COMMENT '星期几',
duration STRING COMMENT '持续时间',
campaign BIGINT COMMENT '本次活动联系的次数',
pdays DOUBLE COMMENT '与上一次联系的时间间隔',
previous DOUBLE COMMENT '之前与客户联系的次数',
poutcome STRING COMMENT '之前市场活动的结果',
emp_var_rate DOUBLE COMMENT '就业变化速率',
cons_price_idx DOU