-
响应示例 状态码: 403 Forbidden {
"error_code" : "
DLI .0003",
"error_msg" : "Forbidden"
} 状态码: 404 Not Found {
"error_code" : "DLI.0002",
"error_msg" : "Not Found"
} 状态码: 500 Internal Server Error {
"error_code" : "DLI.0999",
"error_msg" : "Internal Server Error"
}
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 message String 系统提示信息,执行成功时,信息可能为空。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述信息。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 失败原因
-
数据库和表的约束与限制 表1 DLI资源相关约束限制 限制项 说明 数据库 “default”为内置数据库,不能创建名为“default”的数据库。 DLI支持创建的数据库的最大数量为50个。 数据表 DLI支持创建的表的最大数量为5000个。 DLI支持创建表类型: Managed:数据存储位置为DLI的表。 External:数据存储位置为OBS的表。 View:视图,视图只能通过SQL语句创建。 跨源表:表类型同样为External。 创建DLI表时不支持指定存储路径。 数据导入 仅支持将OBS上的数据导入DLI或OBS中。 支持将OBS中
CS V,Parquet,ORC,JSON和Avro格式的数据导入到在DLI中创建的表。 将CSV格式数据导入分区表,需在数据源中将分区列放在最后一列。 导入数据的编码格式仅支持UTF-8。 数据导出 只支持将DLI表(表类型为“Managed”)中的数据导出到OBS桶中,且导出的路径必须指定到文件夹级别。 导出文件格式为json格式,且文本格式仅支持UTF-8。 支持跨账号导出数据,即B账户对A账户授权后,A账户拥有B账户OBS桶的元数据信息和权限信息的读取权限,以及路径的读写权限,则A账户可将数据导出至B账户的OBS路径中。
-
DLI支持创建的表类型 DLI表 DLI表是存储在DLI
数据湖 中的数据表。支持多种数据格式,可以存储结构化、半结构化和非结构化数据。 DLI表的数据存储在DLI服务内部,查询性能更好,适用于对时延敏感类的业务,如交互类的查询等。 库表管理中表的列表页面,表类型为Managed的即代表DLI表。 OBS表 OBS表的数据存储在OBS上,适用于对时延不敏感的业务,如历史数据统计分析等。 OBS表通常以对象的形式存储数据,每个对象包含数据和相关的元数据。 库表管理中表的列表页面,表类型为External,存储位置为OBS路径的即代表OBS表。 视图表 视图表(View)是一种虚拟表,它不存储实际的数据,而是根据定义的查询逻辑动态生成数据。视图通常用于简化复杂的查询,或者为不同的用户或应用提供定制化的数据视图。 视图表可以基于一个或多个表创建,提供了一种灵活的方式来展示数据,而不影响底层数据的存储和组织。 库表管理中表的列表页面,表类型为View的即代表视图表。 View只能通过SQL语句进行创建,不能通过“创建表”页面进行创建。视图中包含的表或视图信息不可被更改,如有更改可能会造成查询失败。 跨源表 跨源表是指能够跨越多个数据源进行查询和分析的数据表。这种表可以整合来自不同数据源的数据,提供统一的数据视图。 跨源表常用于
数据仓库 和数据湖架构中,允许用户执行跨多个数据源的复杂查询。 库表管理中表的列表页面,表类型为External,存储位置非OBS路径的即代表跨源表。
-
表 表是数据库最重要的组成部分之一,它由行和列组成。每一行代表一个数据项,每一列代表数据的一个属性或特征。表用于组织和存储特定类型的数据,使得数据可以被有效地查询和分析。 数据库是一个框架,表是其实质内容。一个数据库包含一个或者多个表。 用户可通过管理控制台或SQL语句创建数据库和表,其中SQL语句的操作方法请参见创建数据库、创建OBS表和创建DLI表等。本章节介绍在管理控制台创建数据库和表的操作步骤。 创建数据库和表时,有权限控制,需要对其他用户授权,其他用户才可查看该用户新建的数据库和表。
-
响应示例 {
"is_success": true,
"total_count": 2,
"catalogs": [
{
"name": "catalog_test1",
"create_time": 1697179174000,
"parameters": {
"type": "lakeformation",
"external_catalog_name": "lakeformation_catalog_test1"
},
"description": "dli default catalog"
},
{
"name": "catalog_test2",
"create_time": 1706595479942,
"parameters": {
"type": "lakeformation",
"external_catalog_name": "lakeformation_catalog_test2"
},
"description": ""
}
]
}
-
URI GET /v3/{project_id}/catalogs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,默认值为“0”。 limit 否 Integer 每页显示的返回信息的个数,默认值为“100”。
-
什么是数据血缘 大数据时代,数据爆发性增长,海量的、各种类型的数据在快速产生。这些庞大复杂的数据信息,通过联姻融合、转换变换、流转流通,又生成新的数据,汇聚成数据的海洋。 数据的产生、加工融合、流转流通,到最终消亡,数据之间自然会形成一种关系。我们借鉴人类社会中类似的一种关系来表达数据之间的这种关系,称之为数据的血缘关系。与人类社会中的血缘关系不同,数据的血缘关系还包含了一些特有的特征: 归属性:一般来说,特定的数据归属特定的组织或者个人,数据具有归属性。 多源性:同一个数据可以有多个来源(多个父亲)。一个数据可以是多个数据经过加工而生成的,而且这种加工过程可以是多个。 可追溯性:数据的血缘关系,体现了数据的生命周期,体现了数据从产生到消亡的整个过程,具备可追溯性。 层次性:数据的血缘关系是有层次的。对数据的分类、归纳、总结等对数据进行的描述信息又形成了新的数据,不同程度的描述信息形成了数据的层次。
DataArts Studio 生成的血缘关系图如图1所示,为数据表对象,为作业节点对象,通过对象和箭头的编排表示血缘信息。从血缘关系图中可以看到,wk_02表数据是由wk_01表数据经过hive_1作业节点加工而生成的,wk_02表数据经由hive_2作业节点加工又分别生成了wk_03、wk_04和wk_05的表数据。 图1 数据血缘关系示例
-
DataArts Studio数据血缘实现方案 数据血缘的产生: DataArts Studio数据血缘解析方案包含自动分析血缘和手动配置血缘两种方式。一般推荐使用自动血缘解析的方式,无需手动配置即可生成血缘关系,在不支持自动血缘解析的场景下,再手动配置血缘关系。 自动血缘解析,是由系统解析数据开发作业中的数据处理和数据迁移类型节点后自动产生的,无需进行手动配置。支持自动血缘解析的节点类型和场景请参见自动血缘解析。 手动配置血缘,是在数据开发作业节点中,自定义血缘关系的输入表和输出表。注意手动配置血缘时,此节点的自动血缘解析将不生效。支持手动配置血缘的节点类型请参见手动配置血缘。 数据血缘的展示: 首先在数据目录组件完成元数据采集任务,当数据开发作业满足自动血缘解析要求或已手动配置血缘,然后成功完成作业调度后,则可以在数据目录模块可视化查看数据血缘关系。
-
场景一:仅添加新元数据 用户的数据库中新增的数据表,采集任务仅采集新增的表。 例如新增table4的情况下: 采集前的数据表元数据:table1,table2,table3 采集后的数据表元数据:table1,table2,table3,table4 按照下面的配置,采集任务仅会采集table4。(前提:table1-table3已经在数据目录中) 进入DataArts Studio控制台首页的数据目录模块。 单击左侧导航的“任务管理”,进入任务管理页面。 在任务管理页面单击“新建”,新建一个元数据采集任务。 配置任务信息,如下图所示。 图1 配置任务信息 单击“下一步”,配置调度属性如下图所示。 图2 配置调度属性 单击“提交”,完成采集任务的创建。 单击任务管理列表中的“运行”或“启动调度”,跳转到任务监控页面并查看任务状态。
-
场景四:更新数据目录中的元数据,添加新元数据 ,并从数据目录中删除元数据 用户的数据库中数据表有删除的情况,采集任务能够删除数据目录中对应的数据表。 例如数据库删除table1的情况下: 采集前的数据表元数据:table1,table2,table3 采集后的数据表元数据:table2,table3 按照如下配置,采集任务会删除数据目录中的table1。 进入DataArts Studio控制台首页的数据目录模块。 单击左侧导航的“任务管理”,进入任务管理页面。 在任务管理页面单击“新建”,新建一个元数据采集任务。 配置任务信息,如下图所示。 图7 配置任务信息 单击“下一步”,配置调度属性如下图所示。 图8 配置调度属性 单击“提交”,完成采集任务的创建。 单击任务管理列表中的“运行”或“启动调度”,跳转到任务监控页面并查看任务状态。
-
场景二:更新数据目录中的元数据,添加新元数据 用户的数据库中新增了数据表,采集数据源中指定的所有表。 例如新增table4的情况下: 采集前的数据表元数据:table1,table2,table3 采集后的数据表元数据:table1,table2,table3,table4 按照如下配置,采集任务会采集default下所有的表(table1-table4)。 进入DataArts Studio控制台首页的数据目录模块。 单击左侧导航的“任务管理”,进入任务管理页面。 在任务管理页面单击“新建”,新建一个元数据采集任务。 配置任务信息,如下图所示。 图3 配置任务信息 单击“下一步”,配置调度属性如下图所示。 图4 配置调度属性 单击“提交”,完成采集任务的创建。 单击任务管理列表中的“运行”或“启动调度”,跳转到任务监控页面并查看任务状态。
-
场景三:仅更新数据目录中的元数据 用户的数据库中数据表有新增的情况,采集任务仅采集数据目录中已经存在的表。 例如新增table4的情况下: 采集前的数据表元数据:table1,table2,table3 采集后的数据表元数据:table1,table2,table3 按照如下配置,采集任务仅采集table1,table2和table3。 进入DataArts Studio控制台首页的数据目录模块。 单击左侧导航的“任务管理”,进入任务管理页面。 在任务管理页面单击“新建”,新建一个元数据采集任务。 配置任务信息,如下图所示。 图5 配置任务信息 单击“下一步”,配置调度属性如下图所示。 图6 配置调度属性 单击“提交”,完成采集任务的创建。 单击任务管理列表中的“运行”或“启动调度”,跳转到任务监控页面并查看任务状态。
-
清空数据 清空后数据不可找回,请谨慎操作。 非结构化资源清空会删除OBS桶中的资源数据文件。 结构化资源清空会删除数据库中的资源数据文件。 登录
交换数据空间 官网。 单击“管理控制台”,进入交换数据空间控制台界面。 单击“我的空间”,在交换数据空间实例中,选择实例,单击实例卡片上的“连接器”。 选择连接器,单击连接器卡片上的“前往”,进入连接器控制台界面。 选择界面左侧导航栏中的“数据目录”,选择“删除的数据”,进入“删除的数据”界面。 支持单个数据清空以及批量多个数据清空。 清空单个数据。单击已删除数据操作列的“清空”,然后单击“确定”,将单个数据清空移除。 批量清空多个数据。勾选需要清空的多个数据,单击列表上方“清空”,然后单击“确定”,将多个数据清空移除。
-
还原数据 登录交换数据空间官网。 单击“管理控制台”,进入交换数据空间控制台界面。 单击“我的空间”,在交换数据空间实例中,选择实例,单击实例卡片上的“连接器”。 选择连接器,单击连接器卡片上的“前往”,进入连接器控制台界面。 选择界面左侧导航栏中的“数据目录”,选择“删除的数据”,进入“删除的数据”界面。 支持单个数据还原以及批量多个数据还原。 还原单个数据。单击已删除数据操作列的“还原”,将数据还原在原归档路径。 批量还原多个数据。勾选需要还原的多个数据,单击列表上方“还原”,将数据还原在原归档路径。