由于DLF中数据入湖功能已经停止更新,本文采用DataWorks数据集成的入湖方式,以MySQL数据入湖为例,为您介绍在MaxCompute中如何创建外部项目,并查询DLF中的表数据。
使用限制
仅华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、中国香港、新加坡和德国(法兰克福)地域支持构建湖仓一体能力。
MaxCompute、OSS、RDS和DLF必须部署在同一地域。
MySQL数据入湖
DLF入湖详情请参见快速入门。
步骤一:创建数据湖的元数据库
登录数据湖管理控制台,在页面上方选择地域,在 页面创建元数据库。具体操作请参见创建元数据库。
步骤二:DataWorks数据集成导入数据至OSS
准备入湖数据。
登录RDS管理控制台,选择地域,并单击左侧导航栏的实例列表。
选择目标RDS实例,登录数据库。
为RDS数据库创建表并插入少量测试数据,详情请参见通过DMS登录RDS MySQL。例如表名为rds_mc,命令示例如下:
CREATE TABLE `rds_mc` ( `id` varchar(32) , `name` varchar(32) , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(1,"张三"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(2,"zhangsan"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(3,"zhaosi"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(4,"wangwu"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(5,"55555"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(8,"6666"); SELECT * FROM `rds_mc`;
准备RDS MySQL数据源。
在DataWorks中配置MySQL数据源,具体操作请参见配置MySQL数据源。
准备OSS数据源。
在DataWorks中配置OSS数据源,具体操作请参见配置OSS数据源。
创建并执行数据同步任务。
在DataWorks的数据开发模块中创建离线同步任务,详情请参见通过向导模式配置离线同步任务。关键配置如下:
网络与资源配置。
参数
说明
来源
数据来源
MySQL。
数据源名称
已创建的MySQL数据源。
资源组
我的资源组
已创建的数据集成独享资源组。
去向
数据去向
OSS。
数据源名称
已创建的OSS数据源。
配置任务。
在配置任务页签填写表和文件名。
参数
说明
表
RDS数据库中已创建的表名。
文件名(含路径)
格式:<OSS中已创建的文件目录名称>/<待导出至OSS的数据文件>。
例如
doc-test-01/datalake/anti.csv
。单击离线同步任务配置页面左上角的图标保存配置,然后单击图标运行任务。
DataWorks中任务运行成功后,可在OSS数据源配置路径下查看数据是否导入成功。
步骤三:DLF进行元数据抽取入湖
在数据湖管理控制台以元数据抽取的方式进行数据入湖。具体操作请参见元数据抽取。
步骤四:查看数据湖的元数据
在数据湖管理控制台单击元数据 > 元数据管理,进入目标数据库,在表列表页签查看数据表信息。
如果通过元数据抽取后的表的序列化方式为:org.apache.hadoop.hive.serde2.OpenCSVSerde
,会导致MaxCompute识别DLF的元数据中字段类型为 opencsv的string ,而引发查询失败报错,需手动将DLF的识别字段类型都改成string类型。
访问授权
MaxCompute创建外部项目
在DataWorks控制台创建External Project。
登录DataWorks控制台,选择地域为华东2(上海)。
在DataWorks控制台页面左侧导航栏,选择 。
在数据湖集成(湖仓一体)页面,单击现在开始创建。
在新建数据湖集成页面,按照界面指引进行操作。参数示例如下所示。
表 1. 创建数据仓库 参数
说明
外部项目名称
ext_dlf_delta
MaxCompute项目
ms_proj1
表 2. 创建外部数据湖连接 参数
说明
异构数据平台类型
选择阿里云DLF+OSS数据湖连接
无
阿里云DLF+OSS数据湖连接
External Project描述
无
DLF所在区
cn-shanghai
DLF Endpoint
dlf-share.cn-shanghai.aliyuncs.com
DLF数据库名称
datalake
DLF RoleARN
无
单击创建后单击预览。
如果能预览DLF库中表的信息,则表示操作成功。
MaxCompute查询外部项目数据
在DataWorks临时查询页面,查看External Project下的表数据。
DataWorks临时查询操作,详情请参见DataWorks临时查询。
命令示例:
select * from ext_dlf_delta.rds_mc;
返回结果: