julian.zhou 2019-06-19 1093浏览量
支持功能包括:
不支持数据回流ODPS。
其他说明:
通过在查询中指定WHERE <分区列> = <分区key>的形式进行分区过滤(裁剪),避免全表扫描数据,目前支持如下一些形式进行分区过滤(裁剪):
CREATE SCHEMA <schema_name> WITH DBPROPERTIES (
catalog = 'odps',
location = 'http://dt.<region>.maxcompute.aliyun-inc.com',
endpoint = 'http://service.cn.maxcompute.aliyun-inc.com/api',
project = '<odps_project_name>',
USER = '<access_key>',
PASSWORD = '<access_secret>'
)
其中:
location为对应ODPS中的tunnel endpoint;
endpoint为对应ODPS中的endpoint;
msck repair database <schema_name>
执行上述命令,同步对应的ODPS project下的所有表,EXTERNAL TABLE(外表)不会被同步(注意:ODPS project下的表是分区表时,分区列会被作为普通列创建在DLA中的表列定义中,按顺序排在最后)。
仅仅需要上述两个步骤,就可以在DLA中:
到目前(2019年6月)为止,DLA支持的云上数据源情况如下:
除了上述2中的MSCK REPAIR DATABASE的全量元数据表同步机制之外,也可以单表进行建表操作,避免映射ODPS project下的全部表。
ODPS中project下的非分区表对应的CREATE TABLE语句:
CREATE TABLE IF NOT EXISTS 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 '是否有定期存款'
);
则在DLA中,用上述2.1中的步骤创建的schema下,创建对应project下的表(仅仅是多了一个EXTERNAL关键字,注意:表名和列名必须相同,如果遇到关键字,请用``引起来,比如下面的default列):
CREATE EXTERNAL TABLE IF NOT EXISTS 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 '是否有定期存款'
);
ODPS project下的表是分区表时,分区列会被作为普通列创建在DLA中的表列定义中,按顺序排在最后。例如,ODPS project下的分区表对应的CREATE TABLE语句:
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);
到目前(2019年6月)为止,还不支持在DLA中直接用复杂类型映射ODPS的复杂类型,可以先把复杂类型用字符串类型映射,对应的CREATE TABLE语句为:
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,
pt bigint,
region string
)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云原生数据湖分析Data Lake Analytics是云原生数据湖的分析与计算产品形态,存储计算分离。提供 Serverless Spark、Serverless Presto、一站式数据湖管理;