表加载

您所在的位置:网站首页 sql去除重复项 表加载

表加载

#表加载| 来源: 网络整理| 查看: 265

表加载

表加载组件提供了数据库表的数据操纵能力,支持向关系型数据库中执行数据插入、更新、删除、批量加载等操作

操作步骤

双击画布中的表加载组件,弹出数据表加载窗口。

输入步骤名称,名称要求为非空,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