每当您需要从数据库中读取数据时,都可以使用此通用来源。例如,您可以使用它来创建通用数据库表的每日快照,并将输出写入 BigQuery。
配置插件
- 前往 Cloud Data Fusion 网页界面 然后点击 Studio。
- 检查是否选择了数据流水线 - 批处理 (而不是实时 )。
- 在来源 菜单中,点击数据库 。
- 如需配置插件,请将指针悬停在插件节点上,然后点击属性 。
输入以下属性。如需详细了解每个属性, 请参阅属性。
- 为数据库节点输入标签 ,例如
database tables。 输入连接详细信息。您可以设置新的临时连接,也可以设置现有的可重复使用的连接。
新连接
如需向数据库添加临时连接,请按以下步骤操作:
- 保持使用连接 处于关闭状态。
- 输入以下连接属性:
- 在 JDBC 驱动程序名称字段中,输入驱动程序的名称(如果有)。否则,请保持选中无 JDBC 插件 。
- 在连接字符串 字段中,输入 JDBC 连接字符串,包括数据库名称。
- 可选:如果您的数据库需要身份验证,请输入数据库用户名和密码凭据。
- 可选:如果您的 JDBC 驱动程序需要其他配置,请在连接参数 字段中,输入连接的键值对参数。
可重复使用的连接
如需重复使用现有连接,请按以下步骤操作:
- 开启使用连接 。
- 点击浏览连接 。
选择连接。
可选:如果不存在连接,并且您想要创建新的可重复使用的连接,请点击添加连接 ,然后参阅本页新连接 标签页中的步骤。
可选:如需测试连接,请点击获取架构 。此架构将取代查询返回的任何架构。它必须与查询返回的架构匹配,但您可以将字段标记为可为 null,并且它可以包含字段的子集。
在 导入查询 字段中,输入用于从指定表中导入数据的
SELECT查询,例如select id, name, email, phone from users;。可选:在边界查询 字段中,输入要读取的最小值和最大值,例如
SELECT * FROM table WHERE $CONDITIONS。可选:在拆分依据字段名称 字段中,输入生成拆分的字段的名称。
可选:在要生成的拆分数量 字段中,输入一个数字,例如
2。可选:在提取大小 字段中,输入一个数字,例如
1000。可选:输入高级属性,例如更改 列名称的大小写。
- 为数据库节点输入标签 ,例如
可选:点击验证 ,然后解决发现的任何错误。
点击关闭 。系统会保存属性,您可以在 Cloud Data Fusion Studio 中继续构建数据流水线。
属性
| 属性 | 启用宏 | 必需 | 说明 |
|---|---|---|---|
| 标签 | 否 | 是 | 数据流水线中节点的名称。 |
| 使用连接 | 否 | 否 | 浏览以查找与来源的连接。如果选择了 使用连接,则无需提供 凭据。 |
| 连接 | 是 | 是 | 要使用的连接的名称。如果选择了使用连接 ,则会显示此字段。数据库和表信息由连接 提供。 |
| JDBC 驱动程序名称 | 是 | 是 | 要使用的 JDBC 驱动程序。 默认值为无 JDBC 插件 。 |
| 连接字符串 | 是 | 是 | JDBC 连接字符串,包括数据库名称。 |
| 用户名 | 是 | 否 | 用于连接到数据库的用户身份。对于需要身份验证的数据库 ,此字段为必填字段。对于不需要 身份验证的数据库,此字段为可选字段。 |
| 密码 | 是 | 否 | 用于连接到指定数据库的密码。对于需要身份验证的数据库,此字段为必填字段。 对于不需要身份验证的数据库,此字段为可选字段。 |
| 连接参数 | 是 | 否 | 作为连接参数的任意字符串标记/值对的列表。
对于需要其他配置的 JDBC 驱动程序,这些参数将以以下格式作为连接参数传递给 JDBC 驱动程序:key1=value1;key2=value。 |
| 参考名称 | 否 | 是 | 用于唯一标识此来源以进行沿袭和注释 元数据的名称。它通常是表或视图的名称。 |
| 获取架构 | 否 | 否 | 来源输出的记录的架构。它将取代 架构,该架构由查询返回。它必须与查询返回的架构匹配,但您可以将字段标记为可为 null,并且它可以包含字段的子集。 |
| 导入查询 | 是 | 是 | 用于从指定的
表中导入数据的 SELECT 查询。您可以指定任意数量的列进行导入,也可以
导入所有列,使用*。查询应包含
$CONDITIONS 字符串。例如,
SELECT * FROM table WHERE $CONDITIONS。
$CONDITIONS 字符串将替换为 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 。 |
| 要替换的模式 | 否 | 否 | 要在表中的字段名称中替换的模式(通常与 替换为 属性一起使用)。如果未设置 替换为 属性,则该模式将从字段名称中移除 。 |
| 替换为 | 否 | 否 | 要在表中的字段名称中替换的字符串。您还必须配置 要替换的模式 字段。 |
| 输出架构 | 否 | 否 | 指定要输出的架构。输出记录中仅包含架构中定义的列 。 |
最佳做法
检查是否有适用于您的数据库的更具体的插件。例如,如果您有 Oracle 数据库来源,请改用 Oracle 数据库批处理来源插件,因为它专为与 Oracle 架构搭配使用而设计。
后续步骤
- 详细了解 Cloud Data Fusion 中的插件。