初探阿里数据治理平台ODPS
背景介绍
随着用户量的增加,数据处理变的较为复杂,百万级别数据量下,关联查询的效率不高,公司开始采用阿里的ODPS平台来整合数据,下面记录下使用的过程,方便备查。
知识了解 ODPS (Open Data Processing Service),是阿里巴巴通用计算平台提供的一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案,现在已更名为MaxCompute,MaxCompute 向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。
第一步、登录平台
产品 - 选择DataWorks 选择预先分配好的部门
第二步、进入主页面
左侧是操作结构树,包括数据集成、数据开发等,右侧是编辑区域,显示快速访问的快捷键。主题色是黑色,科技感十足。 左侧树,表,右键–> 新建,从生产环境导入数据,作为工作区间的数据源。
第三步、数据处理
在 MacComputer 下的数据开发下,进行数据处理逻辑的编辑。 1、新建表 在ODPS工作空间,建立自己的中间表,方便数据的处理。
// 创建表脚本
drop table user_odps;
TRUNCATE TABLE user_odps;
CREATE TABLE IF NOT EXISTS user_odps
(
user_id STRING COMMENT '用户编号',
user_name STRING COMMENT '姓名',
sex STRING COMMENT '性别',
phone STRING COMMENT '手机号',
age BIGINT COMMENT '年龄',
birthday DateTime COMMENT '出生日期',
address STRING COMMENT '地址'
)
COMMENT '用户信息表';
ODPS上的字段支持 String、Bigint、DateTime等,需要将mysql中 varchar 字段串等进行转换。
注:1、表名最好是以 _odps 结尾,如 user_odps 2、创建成功不会在左侧的树上显示,但可以通过select语句进行查询
2、往表中添加数据 编写SQL语句,抽取数据导入了新建的中间表,可以使用 insert overwrite 语法
// 数据导入
INSERT OVERWRITE TABLE user_odps
select
user_id,
user_name,
sex,
phone,
age,
birthday,
address
from
user
where
is_deleted = '0';
可以对表进行分区处理,添加以下语句
// 根据时间对表进行分区
PARTITION (load_date={$bdp.system.DATE })
第五步、数据传输
在数据集成页签下进行数据回传,将整合完成的数据同步到指定的区域。 设置数据同步的规则,左侧选择源目标,数据库,可以选择新建的odps表,右侧是目标数据源,选择数据表,支持mysql,ADS等类型的数据源。下方是两张表对应的关系,可以改变,为方便维护,建议要字段类型,名称等保持一致。
参考文档
【1】https://help.aliyun.com/document_detail/84669.html?spm=a2c4g.11186623.6.601.26de4154p0enK7 【2】ODPS权威指南 李姝芳 【3】https://developer.aliyun.com/group/maxcompute/#/?_k=twks3n