MaxCompute输出组件用于向MaxCompute数据源写入数据。同步其他数据源的数据至MaxCompute数据源的场景中,完成源数据源的信息配置后,需要配置MaxCompute输出组件写入数据到目标数据源。本文为您介绍如何配置MaxCompute输出组件。
操作步骤
在Dataphin首页顶部菜单栏,选择研发 > 数据集成。
在集成页面顶部菜单栏选择项目(Dev-Prod模式需要选择环境)。
在左侧导航栏中单击离线集成,在离线集成列表中单击需要开发的离线管道,打开该离线管道的配置页面。
单击页面右上角的组件库,打开组件库面板。
在组件库面板左侧导航栏中需选择输出,在右侧的输出组件列表中找到MaxCompute组件,并拖动该组件至画布。
单击并拖动目标输入组件的
图标,将其连接至当前MaxCompute输出组件上。单击MaxCompute输出组件卡片中的
图标,打开MaxCompute输出配置对话框。
在MaxCompute输出配置对话框,配置参数。
参数
描述
基本设置
步骤名称
即MaxCompute输出组件的名称。Dataphin自动生成步骤名称,您也可以根据业务场景修改。命名规则如下:
只能包含中文、字母、下划线(_)、数字。
不能超过64个字符。
数据源
在数据源下拉列表中,展示所有MaxCompute类型的数据源,包括您已拥有同步写权限的数据源和没有同步写权限的数据源。单击
图标,可复制当前数据源名称。对于没有同步写权限的数据源,您可以单击数据源后的申请,申请数据源的同步写权限。具体操作,请参见申请、续期和交还数据源权限。
如果您还没有MaxCompute类型的数据源,单击新建数据源,创建数据源。具体操作,请参见创建MaxCompute数据源。
表
选择数据同步中输出数据的目标表。如果MaxCompute数据源中没有数据同步的目标表,则您可以通过一键生成目标表的功能,简单快速地生成目标表。详细的操作步骤如下:
单击一键建表。
可选择普通表或Delta表,默认为普通表。切换表格式后将更改下方代码区域中的DDL。
Dataphin会自动为您匹配创建目标表的代码,包括目标表名称(默认为来源表名)、字段类型(基于Dataphin字段做了初步的转换)等信息。您可以根据业务情况修改创建目标表的SQL脚本后,单击新建。目标表新建成功后,Dataphin自动将新建的目标表作为输出数据的目标表。
生产表缺失策略
生产表不存在时的处理策略,可选择不处理或自动创建,默认为自动创建。若选择不处理,则任务发布时不进行生产表创建;若选择自动创建,则任务发布时在目标环境创建同名表。
不处理:若目标表不存在,则提交时会提示目标表不存在,但仍可正常发布。此时,用户需自行在生产环境创建目标表,才可执行任务。
自动创建:需编辑建表语句,默认填充所选表的建表语句,用户可进行调整。建表语句中的表名使用占位符
${table_name},且仅支持填写该占位符,实际执行时将替换为真实表名。若目标表不存在,则先按照建表语句进行建表,若建表失败,则发布时检查结果为失败,您可根据错误提示修改建表语句,修改完成后再次进行发布。若目标表已存在,则不执行建表。
说明仅Dev-Prod模式项目中支持配置此项。
加载策略
向目标数据源(MaxCompute数据源)写入数据时,数据写入表中的策略。加载策略包括覆盖数据和追加数据,适用场景说明如下:
覆盖数据:以当前来源表为准,覆盖目标表中的历史数据。
追加数据:在目标表的已有的数据基础上追加数据,且不修改历史数据,仅普通表可用。
更新数据:当主键冲突时,会在已存在的记录上更新映射字段的数据,仅Delta表可用。
分区
如果选择了分区表,则需要填写数据表的分区。例如
ds=20230101或使用参数ds=${bizdate}。支持在分区前加
/*dynamic*/关键字以使用来源字段动态指定每行数据的写入分区。例如,/*dynamic*/ds=$date,date为来源字段名称; 或/*dynamic*/ds=${bizdate},hh = $hour,bizdate为参数,hour为来源表字段名称。重要动态分区数为上限10000个,建议不超过1000个,否则会导致执行时间过长甚至失败。
准备语句(非必填)
数据导入前对数据库执行的SQL脚本。
比如为了满足服务的持续可用性,当前步骤写数据执行前先创建目标表Target_A,执行写入到目标表Target_A,当前步骤写数据执行完成后,对数据库中持续提供服务的表Service_B重命名成Temp_C,然后将表Target_A重命名为Service_B,最后删除Temp_C。
结束语句(非必填)
数据导入后对数据库执行的SQL脚本。
字段映射
输入字段
根据上游组件的输出,为您展示输入字段。
输出字段
输出字段区域展示了已选中表的所有字段。如果不需要将某些字段输出至下游组件,则您可以删除对应的字段:
如果需要删除少量的字段,可以单击操作列下的
图标,删除多余的字段。如果需要删除大批量字段,可以单击字段管理,在字段管理页面选择多个字段后,单击
图标,将已选的输入字段移入到未选的输入字段。
映射关系
映射关系用于将源表的输入字段和目标表的输出字段进行映射。映射关系包括同名映射和同行映射。适用场景说明如下:
同名映射:对字段名称相同的字段进行映射。
同行映射:源表和目标表的字段名称不一致,但字段对应行的数据需要映射。只映射同行的字段。
单击确认,完成MaxCompute输出组件的属性配置。
