全部产品

DUMP TO MAXCOMPUTE

更新时间:2019-08-06 13:44:36

本文介绍何如将AnalyticDB for MySQL数据导出到MaxCompute中。

语法

  1. /*+
  2. engine=MPP,
  3. [return-dump-record-count=TRUE,]
  4. dump-header=[DUMP DATA [OVERWRITE] INTO 'odps://project_name/table_name']
  5. */ sql

参数

  • engine=MPP:计算引擎,必选参数。

  • return-dump-record-count=TRUE:显示导出的数据行数,可选参数。

  • dump-header:必选参数。

授权

进行数据导出操作时,您所使用的账号和分析型数据库MySQL版公共账号garuda_data@aliyun.com需要拥有MaxCompute表的Describe,Select,Alter,Update和Drop权限。

以下SQL为garuda_data@aliyun.com账号授权,可以参照以下SQL为用户账号授权。

如果用户使用的账号是RAM子账号,RAM子账号格式为:ram$account_name:subaccount_name。更多账号授权信息,请参见为主账号/RAM子账号授权

  1. USE project_name;
  2. ADD USER ALIYUN$garuda_data@aliyun.com;
  3. GRANT createInstance ON project project_name TO USER ALIYUN$garuda_data@aliyun.com;
  4. GRANT Describe,Select,alter,update,drop ON TABLE table_name TO USER ALIYUN$garuda_data@aliyun.com;

示例

  • 将CUSTOMER表中年龄大于18岁的客户的姓名和手机号导出到MaxCompute的trade project下的CUSTOMER中。

    1. /*+
    2. engine=MPP,
    3. [return-dump-record-count=TRUE,]
    4. dump-header=[DUMP DATA OVERWRITE INTO 'odps://trade/customer']
    5. */
    6. SELECT customer_id,customer_name,phone_num
    7. FROM customer
    8. WHERE age >18;
  • 将CUSTOMER表中年龄大于18的客户信息导入MaxCompute的trade project下的分区表CUSTOMER中,其中dtnation为MaxCompute目标表的分区字段。

    1. /*+
    2. engine=MPP,
    3. return-dump-record-count=TRUE,
    4. dump-header=[DUMP DATA OVERWRITE INTO 'odps://trade/customer/dt=20090627/nation=china']
    5. */
    6. SELECT customer_id,customer_name,phone_num
    7. FROM customer
    8. WHERE age >18;