STREAMSETS自学——JDBC Producer简述

本文结合我自己的使用经验和官方文档的理解所作,若有理解不足与功能解释不完整请谅解


JDBC Producer (stages: destination)

官方文档:https://streamsets.com/documentation/datacollector/3.7.2/help/datacollector/UserGuide/Destinations/JDBCProducer.html

组件图标:

功能:

该组件通过JDBC连接将数据写入数据库表,数据流的目标与基于主键的行匹配,而不是与记录中的其他字段匹配。

驱动包:

       mysql:mysql-connector-java-5.1.46.jar

       sql server:sqljdbc4.jar

       Oracle:ojdbc6.jar

配置:

general:

Required Fields:必填字段,是必须存在于记录中以允许其进入处理阶段的字段。当记录不包含所有必填字段时,将根据为管道配置的错误处理对其进行处理。您可以为任何处理器,执行程序和大多数目标阶段定义必需的字段。

Preconditions:必须评估为TRUE以允许记录进入处理阶段的条件。单击"+"以创建其他前提条件。根据为阶段配置的错误处理,处理不满足所有前提条件的记录。

On Record Error:阶段的错误记录处理:

  • Discard - 丢弃记录。
  • Send to Error - 将记录发送到管道以进行错误处理。
  • Stop Pipeline- 停止管道。

JDBC:

JDBC Connection String: 用于连接数据库的连接字符串

      Mysql: jdbc:mysql://xxxxxxxxxx:3306/数据库名

      Oracle: jdbc:oracle:thin:@xxxxxxxxxx:1521:服务名

      SQL server: jdbc:sqlserver://xxxxxxxxxx:1433;databaseName=xxx

Schema Name :要使用的可选数据库或模式名称。在数据库需要完全限定的表名时使用。提示 默认情况下,Oracle会对模式,表和列名称使用全部大写。仅当名称周围使用引号创建架构,表或列时,名称可以是低位或大小写。

Table Name :要使用的数据库表名称。使用数据库所需的表名格式。提示: 默认情况下,Oracle会对模式,表和列名称使用全部大写。仅当名称周围使用引号创建架构,表或列时,名称可以是低位或大小写。

Field to Column Mapping:用于覆盖默认字段到列映射。默认情况下,字段将写入同名的列。覆盖映射时,可以定义参数化值,以便在将字符值写入列之前将SQL函数应用于字段值。例如,要将字段值转换为整数,请为参数化值输入以下内容:

CAST(? AS INTEGER)

单击“ + ”图标以创建其他字段到列映射。

Enclose Object Names:写入数据库时​​,将数据库或模式名称,表名称和列名称括在引号中。允许使用区分大小写的名称或带有特殊字符的名称。未启用时,目标使用的JDBC驱动程序将确定名称的提交方式。Oracle JDBC驱动程序默认将名称提交为全部大写。此外,Oracle默认使用模式,表和列名称的全部大写。仅当名称周围使用引号创建架构,表或列时,名称可以是低位或大小写。

Change Log Format:变更捕获数据的格式。处理更改捕获数据时使用。

Default Operation:如果未设置sdc.operation.type记录标头属性,则执行的默认增删改操作。

Unsupported Operation Handling :不支持在sdc.operation.type记录标头属性中定义的CRUD操作类型时要采取的操作:

  • Discard - 丢弃记录。
  • Send to Error - 将记录发送到管道以进行错误处理。
  • Use Default Operation - 使用默认操作将记录写入目标系统。

Use Multi-Row Operation:确定阶段如何处理记录。选择以一次启用插入和删除多个记录。在启用此选项之前,请验证数据库是否支持阶段使用的多行SQL语句。默认情况下,该阶段执行单行操作。

Max Cache Size Per Batch (Entries):定义多行插入的预准备语句中允许的参数数量。使用-1可禁用参数限制。默认值为-1。

Rollback Batch On Error:当批次中发生错误时,回滚整个批次。

Additional JDBC Configuration Propertie:要使用的其他JDBC配置属性。要添加属性,请单击“ + ”并定义JDBC属性名称和值,使用JDBC所期望的属性名称和值。

Credentials:

JDBC连接数据库的用户名和密码,即数据库的登录密码.

 Advanced

Maximum Pool Size:要创建的最大连接数,默认值为1,建议值为1。

Minimum Idle Connections:要创建和维护的最小连接数。要定义固定连接池,请将其设置为与“Maximum Pool Size”相同的值,默认值为1。

Connection Timeout (Seconds):等待连接的最长时间。在表达式中使用时间常量来定义时间增量,默认值为30秒。

Idle Timeout (Seconds):允许连接空闲的最长时间。在表达式中使用时间常量来定义时间增量,使用0可以避免删除任何空闲连接,默认值为10分钟.

Max Connection Lifetime (Seconds):连接的最长寿命。在表达式中使用时间常量来定义时间增量,使用0设置无最大生命周期,默认值为30分钟

Transaction Isolation:用于连接数据库的事务隔离级别。默认值是为数据库设置的默认事务隔离级别。您可以通过将级别设置为以下任何一项来覆盖数据库默认值:

  • 读取已提交
  • 读取未提交
  • 可重复阅读
  • 序列化

Init Query:在该组件第一次连接到数据库之后立即执行的SQL查询。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值