本文以OSS单表离线同步写入MaxCompute场景为例,为您介绍OSS离线同步在数据源配置、网络连通、同步任务配置方面的最佳实践。
背景信息
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。还有多种存储类型供您选择,全面优化存储成本。数据集成支持从OSS同步数据到其他目标端,也支持从其他目标端同步数据到OSS。本文以OSS离线同步写入MaxCompute为例,为您介绍OSS离线同步的完整流程。
获取OSS Bucket信息
进入OSS产品控制台。在Bucket列表下,找到您要进行数据同步的OSS Bucket,在Bucket信息页面概览处获取OSS Bucket的外网访问端口、内网访问端口。您可以根据不同的场景选择不同的访问端口。
外网指的是互联网。通过外网访问OSS产生的流入流量(写)是免费的,流出流量(读)是收费的。OSS费用详情请参见OSS产品定价和计费项。
内网指的是阿里云同地域产品之间的内部通信网络。例如您可以通过数据集成资源组访问同地域的OSS服务。内网产生的流入和流出流量均免费,如果您读写与数据集成资源组同地域的OSS Bucket,您可配置内网访问端口,否则,建议您配置外网访问端口。
Region和Endpoint对照表请参见OSS地域和访问域名。
前提条件
使用限制
暂不支持将源端数据同步至MaxCompute外部表。
操作步骤
本文以数据开发(Data Studio)(新版)界面操作为例,演示离线同步任务配置。
一、创建离线同步节点
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
在左侧导航栏单击
,然后单击项目目录右侧的
,选择 ,自定义离线同步任务节点名称后,单击确认。
二、网络与资源配置
在网络与资源配置步骤,选择同步任务所使用的数据来源、资源组、数据去向。您可以为该任务分配任务资源占用CU数。
数据来源选择已添加的
OSS
数据源。数据去向选择已添加的
MaxCompute
数据源。资源组选择已与
OSS
和MaxCompute
数据源连通的资源组。您可以为该任务分配任务资源占用CU数。
在数据来源和数据去向卡片中单击测试连通性。
确保数据来源与数据去向均连通成功后,单击下一步。
三、配置数据来源与去向
配置数据来源(OSS)参数
本文档将OSS数据单表离线同步至MaxCompute,数据来源为OSS文件,配置要点如下。
配置项 | 配置要点 |
数据源 | 默认显示上一步选择的OSS数据源。 |
文本类型 | 选择您要同步的文件类型,目前向导模式支持读取 |
文件路径 | 填写您要同步的文件路径。
|
列分隔符 | 配置文件中的列分隔符。 |
编码格式 | 设置读取源头文件所用的编码格式。 |
null值 |
|
压缩格式 | 源头文件的压缩格式,支持
|
是否包含表头 | 类CSV格式文件可能存在表头为标题情况,可选择是否需要跳过。默认不跳过。 说明 压缩文件模式下不支持跳过表头。 |
确认表数据结构 | 数据来源相关参数配置完成后,请单击确认表数据结构,查看获取数据的格式是否符合预期。 |
配置数据去向(MaxCompute)参数
本文档将OSS数据单表离线同步至MaxCompute,数据去向为表,配置要点如下。
下表中未说明参数保持默认即可。
配置项 | 配置要点 |
数据源 | 默认显示上一步选择的MaxCompute数据源。如果您使用的是标准模式的DataWorks工作空间,会分别显示开发和生产项目的名称。 |
表 | 选择待同步的MaxCompute表。如果您使用的是标准类型的DataWorks工作空间,请确保在MaxCompute的开发环境和生产环境中存在同名且表结构一致的MaxCompute表。 您也可以单击意见生成目标表结构,系统将自动创建表接收数据,支持手动调整建表语句。 说明 如果:
|
分区信息 | 如果表为分区表,您可以填入分区列的取值。
|
四、配置字段映射
选择数据来源和数据去向后,需要指定读取端和写入端列的映射关系。您可以选择同名映射、同行映射、取消映射或手动编辑映射关系。
五、配置通道控制
离线同步任务支持设置任务期望最大并发数、脏数据策略等。本教程脏数据策略配置为不容忍脏数据,其他配置保持默认。更多信息,请参见通过向导模式配置离线同步任务。
六、调试配置并运行
单击离线同步节点编辑页面右侧的调试配置,设置调试运行使用的资源组和脚本参数,然后单击顶部工具栏的运行,测试同步链路是否成功运行。
您可以在左侧导航栏单击
,然后单击个人目录右侧的
,创建一个后缀为
.sql
的文件,执行如下SQL查询数据去向表中的数据是否符合预期。说明此方式查询需要将目标端MaxCompute绑定为DataWorks的计算资源。
您需要在
.sql
文件编辑页面右侧单击调试配置,指定数据源类型、计算资源、资源组后,再单击顶部工具栏的运行。
SELECT * FROM <MaxCompute侧目标表名> WHERE pt=<指定分区> LIMIT 20;
七、调度配置与发布
单击离线同步任务右侧的调度配置,设置周期运行所需的调度配置参数后,单击顶部工具栏的发布,进入发布面板,根据页面提示完成发布。