表加载 |
您所在的位置:网站首页 › sql去除重复项 › 表加载 |
表加载
表加载组件提供了数据库表的数据操纵能力,支持向关系型数据库中执行数据插入、更新、删除、批量加载等操作 操作步骤双击画布中的表加载组件,弹出数据表加载窗口。 输入步骤名称,名称要求为非空,2到50个字符。 选择数据源连接,并配置目标模式、目标表、指定数据库字段等。 单击按钮完成配置。 参数说明 1. 基本信息并发度:指定当前步骤同时运行的副本数,可设置1~100的整数。若并发度大于1,在任务启动时,先将原始步骤拷贝生成多个副本,然后并行处理数据。 “操作类型”选择批量加载时,并发度参数不生效。 建议仅在“操作类型”选择插入时配置并发度。鉴于数据库更新、删除操作一般需要加锁,加锁级别视不同数据库类型及语句实际执行情况而定,多副本运行时可能会因为竞争锁而影响数据处理效率。 若抽取的字段包含Blob、Clob、XMLtype、text、long var binary、image等大字段类型时,建议并发度配置为1,否则可能导致执行器内存溢出,任务执行失败。 数据源连接:必填项,选择表要加载至的数据库。 目标模式:所选表的模式名称。 目标表:必填项,写入数据的表的名称。用户可通过按钮选择指定数据库下已存在的表。 操作类型:指定对所选目标表的操作,可选类型包括插入、更新、删除、批量加载。 插入:用insert方式向目标表插入数据。 更新:按照配置的字段映射规则,对目标表数据执行更新。 删除:按照配置的字段映射规则,对目标表数据执行删除。 批量加载:将数据批量加载至目标数据库,仅限于目标数据库为Hive2(Embedded Http)、Oracle、MySQL、PostgreSQL、Vertica、Greenplum、SeaSQL MPP时,提供批量加载功能。 操作类型为“插入”时需配置如下参数: 使用批量插入:仅当操作类型为插入时可用。此功能将insert语句组合以减少与数据库的通信次数。默认情况下启用,以加快数据写入速度。该功能是否生效,还取决于所操作的数据库类型以及其他配置项。具体为: 提交记录数量大于0时才会使用批量模式。 数据库类型支持批量更新(具体请参阅所选数据库功能列表,检查是否支持批量更新)。 批次大小:使用事务在数据库表中插入行。如果大于0,则每n行提交事务,否则逐行提交。 清空表:在第一行数据被插入表之前,将表数据清空。部分数据库的某些配置,可能会导致清空表失败(任务运行时会出现错误提示),此时用户可手动清空表,然后取消勾选该配置项。例如SQL Server开启了主从同步,此时清空表操作会失败,需要用户手动在数据库中清空对应表。 错误处理方式:表加载出现错误时的处理方式。 中断:中断指立即中断处理。 忽略:数据行在小于等于最大错误数时正常运行;大于最大错误数时中断。 忽略并记录:忽略一定数量的错误数后才中断处理,同时会记录错误日志。启用该配置后,用户还需在“错误记录配置”中配置错误记录保存的位置,否则只会忽略错误,而不会记录错误日志。关于“错误记录配置”页面的详细介绍可参见错误记录配置。 最大错误数:当“数据处理方式”选择忽略时,需配置该项,配置忽略的最大错误数,超过该错误数后中断数据解析。 操作类型为“批量加载”时需配置对应参数,不同数据库实现方式不同。 Hive2:将数据批量加载到Hive2数据库中,批量插入的原理是根据Hive表在HDFS中对应的文件路径,直接将数据写入HDFS文件中。 配置参数 说明 HDFS数据源 选择Hive2数据源底层对应的HDFS数据源
Oracle:将源数据以适当的加载格式写入,然后调用Oracle SQL*Loader将其传输到指定的表。 配置参数 说明 加载行为 支持四种加载方式。 追加:往表中追加新数据 插入:插入表中时要求表为空,否则报错 替换:删除旧记录(用 delete from table 语句),替换成新装载的记录 清空表:删除旧记录(用 truncate table 语句),替换成新装载的记录 编码 以特定编码对数据进行编码 绑定数组大小 内存中SQL*Loader存储要加载数据的区域,对应sqlldr的“BINDSIZE”属性 读缓冲大小 缓冲区大小,对应sqlldr的“READSIZE”属性 Oracle字符集 在读取数据时,加载程序sqlldr要使用的字符集 内置换行符 指定一个换行符 数据分片大小 必填,设置单个批次加载的最大数据量,单位:MB。如果待加载的数据量较大,每当数据文件大小达到指定的数据分片大小就进行一次加载操作,等待加载完成之后,清空数据文件并开始处理后续数据。循环往复,直至数据全部加载完成
MySQL:将数据批量加载到MySQL数据库中,批量插入的原理是利用了MySQL一个高效导入方法load data infile将文本文件中的数据导入表中,文本文件是由系统后台根据前序步骤的数据流生成的FIFO文件,因为用户数据的不可控性,故后台自动生成的FIFO文件的相关配置需要用户自行配置。 如果该组件操作的是MySQL8.0以上版本的数据库服务,需要将服务端的local_infile参数设置为ON。 1、在数据库服务端具体查看是否开启的命令如下: show global variables like 'local_infile'; 2、如果该参数为OFF,则需要执行如下命令开启: set global local_infile='ON'; 配置参数 说明 加载行为 支持两种加载方式。 重复时覆盖:对现有的唯一键记录的重复的处理,指定替换,新行将代替有相同的唯一键值的现有行 重复时忽略:对现有的唯一键记录的重复的处理,指定忽略,跳过有唯一键的现有行的重复行的输入 编码 以特定编码对数据进行编码
PostgreSQL:将数据批量加载到PostgreSQL数据库中,批量插入的原理是利用了PostgreSQL一个高效导入方法copy……from stdin将输入数据导入表中。 配置参数 说明 加载行为 支持两种加载方式。 追加:往表中追加新数据 清空并加载:删除旧记录(用 truncate table 语句),替换成新装载的记录
Vertica:将数据批量加载到Vertica数据库中,批量插入的原理是利用了Vertica一个高效导入方法copy……from stdin将输入数据导入表中。 配置参数 说明 直接插入ROS 直接将数据加载到ROS容器中,适用于大容量(> 100 MB)的大容量加载。不勾选是将数据加载到WOS中,适用于较小的批量加载 出错时终止 勾选则会在出现异常的时终止 异常日志文件 记录异常日志文件的全路径 拒绝的数据文件 记录拒绝日志文件的全路径
Greenplum、SeaSQL MPP:使用外部表并行加载功能进行大规模并行加载数据。 配置参数 说明 加载行为 确定加载数据的行为。加载方式分为以下三种: Insert:把数据插入到目标表字段对应的列中。 Update:更新目标表的更新字段,其中目标表行的匹配字段值需要等于流字段值。 Merge load:插入新行并更新现有行。当匹配字段的值在目标表中有对应值,将更新字段,否则将标识新行。 编码 以特定编码对数据进行编码 记录格式错误 可选,指定加载失败时是否保存格式错误信息。若勾选此选项,在没有达到限制行数前,在数据库日志中记录格式错误信息,并在运行日志中打印出查看这些错误信息的SQL语句 最大行长度 以字节的形式设定允许的最大数据行。默认值是32768,有效范围是32K到256MB。当用户数据包括很宽的行或者出现line too long的错误时,应该适当的调大这个数值 数据分片大小 必填,设置单个批次加载的最大数据量,单位:MB。如果待加载的数据量较大,每当数据文件大小达到指定的数据分片大小就进行一次加载操作,等待加载完成之后,清空数据文件并开始处理后续数据。循环往复,直至数据全部加载完成 更新条件 类似于SQL中WHERE语句中声明的条件
数据库字段:配置数据库字段与输入字段的映射关系。 获取字段:单击按钮,进入获取字段页面,获取此步骤需要处理的字段。 输入字段映射:单击按钮,进入字段映射页面。通过字段映射,将流中源字段映射到目标表中的字段。注意:在使用智能映射以及自动选择表/流字段功能时,自动匹配原则为,目标字段名称包含源字段名称时则认为有映射关系,并不一定完全匹配正确,因此需对自动匹配后的映射关系进行检查确认。 增加:用户手动增加一行字段映射关系。 表字段:目标表的列名。 流字段:输入字段的名称。 日期掩码:当操作类型为批量加载且目标数据库为Oracle、MySQL、PostgreSQL时可以指定特定日期列的序列化方式。 是否匹配: 当操作类型为更新、删除时,指定当前列是否作为匹配条件。 当操作类型为批量加载且目标数据库为Greenplum、SeaSQL MPP时,对于Update、Merge加载行为可以指定当前列是否作为匹配条件。 是否更新: 当操作类型为更新时,指定是否更新目标表中的当前字段。 当操作类型为批量加载且目标数据库为Greenplum、SeaSQL MPP时,对于Update、Merge加载行为可以指定是否更新目标表中的当前字段。 分区字段:展示Hive表下的分区字段,仅“数据库连接”选择Hive2且“插入方式”选择批量加载时展示该页签。 获取分区字段:单击字段按钮,可获取Hive2下的分区字段名,用户可根据实际需要将前序步骤的字段作为变量,编写表达式作为分区字段的值。 2. 字段该字段页签仅用于展示表加载组件接收到的所有字段。 3. 属性列表属性列表页签下展示数据库连接所选目标数据源配置的扩展属性,用户可根据需要进行修改。此修改只针对该组件生效,不会影响作业中其他组件,也不会修改数据源原有配置。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |