通过SQL导出Hologres数据至MaxCompute

使用限制

Hologres从V1.1版本开始,默认支持导出至MaxCompute,如果您的Hologres实例版本低于V1.1,请在insert语句前添加以下语句。

--V0.9和V0.10版本需要使用以下参数
set hg_experimental_enable_write_maxcompute = on;

暂不支持使用SQL将数据导出至MaxCompute的Transactional表。

操作流程

  1. 在Hologres准备一张Hologres内部表(例如:holo_source),用于导出数据至MaxCompute。

  2. 在MaxCompute准备一张MaxComute表用于接收数据(例如mc_sink)。

  3. 在Hologres新建一张外部表,用于映射MaxCompute表(例如 mapping_foreign_table)。

  4. 在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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值