阿里云数据湖构建(Data Lake Formation,简称DLF)是一款全托管的统一元数据和数据存储及管理平台,旨在为客户提供元数据管理、存储管理、权限管理、存储分析和存储优化等功能。DataWorks数据集成支持写入DLF数据源,本文将为您介绍DLF的使用详情。
使用限制
Data Lake Formation 数据源仅支持在数据集成使用。
创建数据源
进入数据源页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入管理中心。
进入工作空间管理中心页面后,单击左侧导航栏的数据源,进入数据源页面。
单击新增数据源按钮,搜索并选择Data Lake Formation,来创建数据源,可参考以下表格内容:
参数
说明
数据源名称
可自定义数据源名称。数据源名称在工作空间内唯一;必须以字母、数字、下划线组合,且不能以数字和下划线开头。
配置模式
仅支持阿里云实例模式。
Endpoint
下拉选择DLF的引擎实例的Endpoint地址。
访问身份
可选择如下内容:
阿里云主账号。
阿里云RAM子账号。
阿里云RAM角色。
可按需求进行选择。
说明若访问身份选择了RAM子账号或RAM角色,则需对子账号或角色授予以下权限。
授予角色或子账号REST API所需全部Action的RAM权限策略,详情请参见RAM授权Action参考。
DLF数据目录(Catalog)
选择DataWorks同地域下的DLF数据目录。
数据库名称
选择数据目录下的数据库。
以上内容配置完成后,需在连接配置模块测试该数据源与Serverless资源组的连通性,若连通性测试为可连通,即可单击完成编辑,完成该数据源的创建。若连通性测试失败,则需参考网络连通配置进行排查。
创建数据集成任务
在DataWorks的数据集成中,支持使用Data Lake Formation 数据源,详情可参见:同步数据至Data Lake Formation。
附录:脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见脚本模式配置,以下为您介绍脚本模式下数据源的参数配置详情。
Reader脚本Demo
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "dlf",
"parameter": {
"datasource": "guxuan_dlf",
"table": "auto_ob_3088545_0523",
"column": [
"id",
"col1",
"col2",
"col3"
],
"where": "id > 1"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {
"print": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": ""//错误记录数。
},
"speed": {
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。"concurrent":20, //作业并发数。"mbps":"12"//限流,此处1mbps = 1MB/s。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Reader脚本参数
参数 | 描述 | 是否必选 |
datasource | DLF数据源。 | 是 |
table | 表名。 | 是 |
column | 列名。 | 是 |
where | 过滤条件。 | 否 |
Writer脚本Demo
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "dlf",
"parameter": {
"datasource": "guxuan_dlf",
"column": [
"id",
"col1",
"col2",
"col3"
],
"table": "auto_ob_3088545_0523"
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": ""//错误记录数。
},
"speed": {
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。"concurrent":20, //作业并发数。"mbps":"12"//限流,此处1mbps = 1MB/s。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Writer脚本参数
参数 | 描述 | 是否必选 | 默认值 |
datasource | DLF数据源。 | 是 | 无 |
table | 表名。 | 是 | 无 |
column | 列名。 | 是 | 无 |