数据库批处理来源

本页面提供了有关在 Cloud Data Fusion 中配置数据库批处理来源插件的指导。

每当您需要从数据库中读取数据时,都可以使用此通用来源。例如,您可以使用它创建通用数据库表的每日快照,并将输出写入 BigQuery。

配置插件

  1. 前往 Cloud Data Fusion 网页界面,然后点击 Studio
  2. 检查是否已选择 Data Pipeline - Batch(而不是 Realtime)。
  3. 来源菜单中,点击数据库
  4. 如需配置该插件,请将指针悬停在插件节点上,然后点击属性
  5. 输入以下属性。如需详细了解每项媒体资源,请参阅媒体资源

    1. 为数据库节点输入一个标签,例如 database tables
    2. 输入连接详情。您可以设置新的一次性连接,也可以设置现有的可重复使用连接。

      新增关联项

      如需向数据库添加一次性连接,请按以下步骤操作:

      1. 使用连接保持关闭状态。
      2. 输入以下连接属性:
        1. 在“JDBC 驱动程序名称”字段中,输入驱动程序的名称(如果有)。否则,请选择无 JDBC 插件
        2. 连接字符串字段中,输入 JDBC 连接字符串,包括数据库名称。
        3. 可选:如果您的数据库需要身份验证,请输入数据库用户名和密码凭据。
        4. 可选:如果您的 JDBC 驱动程序需要其他配置,请在连接参数字段中输入连接的键值对参数。

      可重复使用的连接

      如需重复使用现有连接,请按以下步骤操作:

      1. 开启使用连接
      2. 点击浏览连接
      3. 选择相应连接。

      4. 可选:如果不存在关联,并且您想创建新的可重复使用关联,请点击添加关联,然后参阅本页面新关联标签页中的步骤。

    3. 可选:如需测试连接,请点击获取架构。此架构将取代从查询返回的任何架构。它必须与从查询返回的架构一致,但您可以将字段标记为可为 null,并且它可以包含字段的一部分。

    4. 导入查询字段中,输入用于从指定表导入数据的 SELECT 查询,例如 select id, name, email, phone from users;

    5. 可选:在边界查询字段中,输入要读取的最小值和最大值,例如 SELECT * FROM table WHERE $CONDITIONS

    6. 可选:在按字段拆分名称字段中,输入用于生成分块的字段的名称。

    7. 可选:在要生成的分片数字段中,输入一个数字,例如 2

    8. 可选:在提取大小字段中,输入一个数字,例如 1000

    9. 可选:输入高级属性,例如更改列名称的大小写。

  6. 可选:点击验证,然后解决发现的所有错误。

  7. 点击关闭。 系统会保存房源,您可以继续在 Cloud Data Fusion Studio 中构建数据流水线。

属性

属性 已启用宏 必填 说明
标签 数据流水线中相应节点的名称。
使用连接 浏览以找到与来源的连接。如果选择使用连接,则无需提供凭据。
连接 要使用的连接的名称。如果选择了使用连接,系统会显示此字段。数据库和表信息由连接提供。
JDBC 驱动程序名称 要使用的 JDBC 驱动程序。
默认值为 No JDBC plugins(无 JDBC 插件)。
连接字符串 JDBC 连接字符串,包括数据库名称。
用户名 用于连接到数据库的用户身份。需要身份验证的数据库必须提供此属性。对于不需要身份验证的数据库,此参数为可选参数。
密码 用于连接到指定数据库的密码。对于需要进行身份验证的数据库,此字段为必填字段。对于不需要身份验证的数据库,此参数为可选参数。
连接参数 作为连接参数的任意字符串标记/值对列表。 对于需要额外配置的 JDBC 驱动程序,这些参数会以以下格式作为连接参数传递给 JDBC 驱动程序:key1=value1;key2=value
参考名称 用于唯一标识此来源以进行沿袭和注释元数据的名称。它通常是表或视图的名称。
获取架构 来源输出记录的架构。它用于替换查询返回的架构。它必须与查询返回的架构一致,但可以让您将字段标记为可为 null,并且可以包含字段的子集。
导入查询 用于从指定表导入数据的 SELECT 查询。您可以指定要导入的任意数量的列,也可以使用 * 导入所有列。查询应包含 $CONDITIONS 字符串。例如 SELECT * FROM table WHERE $CONDITIONS$CONDITIONS 字符串已替换为 Bounding query 字段中指定的 splitBy 字段限制。如果分块数量字段设为 1,则不需要 $CONDITIONS 字符串。
边界查询 边界查询,用于返回分屏列中的最小值和最大值。例如 SELECT MIN(id),MAX(id) FROM table。如果分块数量设置为 1,则不需要此参数。
按字段名称拆分 用于生成分块的字段名称。如果要生成的分块数量设为 1,则无需设置此参数。
要生成的分片数 要生成的分块数量。
默认值为 1
提取大小 每个分块一次要提取的行数。提取大小越大,导入速度就越快,但内存用量也会随之增加。
默认值为 1000
启用自动提交 是否为此来源运行的查询启用自动提交。除非您使用的 JDBC 驱动程序会在运行提交操作时导致错误,否则请将此设置保持为 False
默认值为 False
列名称大小写 设置从查询返回的列名称的字母大小写。您可以选择大写或小写。默认情况下,或对于任何其他输入,系统不会修改列名称,而是使用从数据库返回的字母大小写。设置此属性可确保在不同数据库中列名称的大小写一致,但如果忽略大小写时多个列名称相同,则可能会导致列名称冲突。
默认值为无变化
事务隔离级别 此接收器运行的查询的事务隔离级别。如需了解详情,请参阅 setTransactionIsolation()。 如果 Phoenix 数据库未启用事务,并且此字段设置为 true,则 Phoenix JDBC 驱动程序会抛出异常。对于此类驱动程序,请将此字段设置为 TRANSACTION_NONE
默认值为 TRANSACTION_SERIALIZABLE
要替换的模式 要在表格中的字段名称中替换的模式(通常与 Replace with 属性搭配使用)。如果未设置 Replace with 属性,系统会从字段名称中移除模式。
替换为 要替换表中字段名称的字符串。您还必须配置要替换的模式字段。
输出架构 指定要输出的架构。输出记录中仅包含架构中定义的列。

最佳做法

检查是否有更具体的插件可供您的数据库使用。例如,如果您有 Oracle 数据库源,请改用 Oracle 数据库批量源插件,因为它专为与 Oracle 架构搭配使用而设计。

后续步骤