STREAMSETS自学——JDBC Query Consumer简述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jinxlzc/article/details/89846080

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


JDBC Query Consumer(stages: origin)

官方文档:

https://streamsets.com/documentation/datacollector/3.7.2/help/datacollector/UserGuide/Origins/JDBCConsumer.html

组件图标:

功能:

该组件通过JDBC连接并使用用户定义的SQL语句查询读取数据库数据

驱动包:

       mysql:mysql-connector-java-5.1.46.jar

       sql server:sqljdbc4.jar

       Oracleojdbc6.jar

配置:

General:

Produce Events: 发生事件时生成事件记录,用于事件处理。事件记录对照表如下:

记录标题属性 描述
sdc.event.type 事件类型。使用以下类型之一:
  • no-more-data - 当源完成处理查询返回的所有数据时生成。
  • jdbc -query-success - 在origin成功完成查询时生成。
  • jdbc -query-failure - 在原点无法完成查询时生成。
sdc.event.version 一个整数,指示事件记录类型的版本。
sdc.event.creation_timestamp 舞台创建事件时的纪元时间戳。

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

Incremental Mode:定义JDBC Query Consumer查询数据库的方式。选择执行增量查询。不选择执行完整查询。

SQL Query: 从数据库中读取数据时使用的SQL查询语句。

Initial Offset:需要在增量模式下使用,管道启动时使用的初始偏移值。

Offset Column:需要在增量模式下使用,用于偏移值的列。

Query Interval:查询之间等待的时间。根据时间单位输入表达式。您可以使用SECONDS,MINUTES或HOURS。默认值为10秒:$ {10 * SECONDS}。

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

Credentials

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

Advance

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分钟

Auto Commit:确定是否启用了自动提交模式。在自动提交模式下,数据库会为每条记录提交数据。默认为禁用。

Enforce Read-only Connection :创建只读连接以避免任何类型的写入。默认值已启用。建议不要禁用此属性。

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

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

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

Create JDBC Header Attributes:将JDBC标头属性添加到记录中。默认情况下,origin创建JDBC标头属性。注意:将原点与漂移同步解决方案一起使用时,请确保选中此属性。

JDBC Header Prefix :JDBC标头属性的前缀。

Disable Query Validation :禁用默认情况下发生的查询验证。用于避免耗时的查询验证情况,例如查询Hive时,需要使用MapReduce作业来执行验证。警告:查询验证可防止运行包含无效查询的管道。请谨慎使用此选项。

On Unknown Type:原点遇到具有不受支持的数据类型的记录时要采取的操作:

  • 停止管道 - 完成处理先前记录后停止管道。
  • 转换为String - 将数据转换为字符串并继续处理。

猜你喜欢

转载自blog.csdn.net/jinxlzc/article/details/89846080