执行上述命令将schema_name对应的MaxCompute Project中的所有表同步到DLA中。
步骤一:创建MaxCompute Schema
- 登录DLA控制台。
- 单击左侧导航栏的访问点管理,然后单击登录到DMS,在DMS中通过以下SQL创建Schema。
CREATE SCHEMA maxcpmpute_test WITH DBPROPERTIES ( catalog = 'odps', project = 'dla_project', user = '<access-key>', password = '<access-secret>' )
参数名称 参数说明 catalog Schema类型。 project MaxCompute项目名称。 user 访问MaxCompute所使用云账号对应的AccessKey。 password 上述AccessKey对应的Access Key Secret。
步骤二:同步MaxCompute表信息
说明
- MaxCompute中的外表无法同步到DLA中。
- 如果MaxCompute中的表是分区表,则在DLA建表语句中,分区列会作为普通列进行定义,且分区列的定义排序在所有列之后。
方法一:通过MSCK REPAIR同步MaxCompute Project中的所有表
msck repair database <schema_name>
方法二:同步单表信息(非分区表)
您可以通过CREATE TABLE同步指定表的信息,例如通过以下SQL同步bank_data
表信息。
CREATE external TABLE bank_data
(
age BIGINT COMMENT '年龄',
job STRING COMMENT '工作类型',
marital STRING COMMENT '婚否',
education STRING COMMENT '教育程度',
default 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 DOUBLE COMMENT '消费者物价指数',
cons_conf_idx DOUBLE COMMENT '消费者信心指数',
euribor3m DOUBLE COMMENT '欧元存款利率',
nr_employed DOUBLE COMMENT '职工人数',
y BIGINT COMMENT '是否有定期存款'
);
方法二:同步单表信息(分区表)
例如MaxCompute中有以下分区表:
CREATE TABLE IF NOT EXISTS part_datatype_test_complex (
int_test int,
bigint_test bigint,
double_test double,
string_test string,
datetime_test datetime,
boolean_test boolean,
array_test array<INT>,
map_test map<string, string>,
struct_test_1 struct<x:INT, y:INT>,
struct_test_2 struct<x:string, y:string>
)
partitioned by (pt bigint, region string);
DLA中对应的建表语句为:
CREATE EXTERNAL TABLE IF NOT EXISTS part_datatype_test_complex (
int_test int,
bigint_test bigint,
double_test double,
string_test string,
datetime_test datetime,
boolean_test boolean,
array_test string,
map_test string,
struct_test_1 string,
struct_test_2 string
)
partitioned by (pt bigint, region string);
步骤三:读取MaxCompute表数据
表创建成功后,您可以通过MySQL客户端或者MySQL命令行工具连接DLA中的MaxCompute Schema,从而通过SELECT读取MaxCompute表数据。
在文档使用中是否遇到以下问题
更多建议
匿名提交