Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
适用于:
Azure 数据工厂
Azure Synapse Analytics
本文概述了如何在 Azure 数据工厂 或 Synapse Analytics 管道中使用复制活动从 Netezza 复制数据。 本文是基于概括性介绍复制活动的复制活动一文编写的。
提示
有关从 Netezza 到 Azure 的数据迁移方案,请参阅从本地 Netezza 服务器迁移数据到 Azure以了解详细信息。
重要
Netezza 连接器版本 1.0 处于 删除阶段。 建议将 Netezza 连接器 从版本 1.0 升级到 2.0。
支持的功能
以下功能支持此 Netezza 连接器:
| 支持的功能 | IR |
|---|---|
| 复制操作 (source/-) | ①(仅适用于版本 1.0)② |
| 查询活动 | ①(仅适用于版本 1.0)② |
(1) Azure集成运行时 (2) 自承载集成运行时
有关复制活动支持作为源和接收器的数据存储的列表,请参阅支持的数据存储和格式。
此 Netezza 连接器支持:
- 从源进行并行复制。 有关详细信息,请参阅从 Netezza 进行并行复制的部分。
- Netezza 性能服务器版本 11。
- 在此 article 中Windows版本。
服务提供了内置驱动程序,用来启用连接。 无需要手动安装任何驱动程序即可使用此连接器。
对于版本 2.0,需要手动 安装 IBM Netezza ODBC 驱动程序 。 对于版本 1.0,该服务提供一个内置驱动程序来启用连接。 无需要手动安装任何驱动程序即可使用此连接器。
先决条件
如果数据存储位于本地网络、Azure虚拟网络或 Amazon 虚拟私有云中,则需要配置自承载集成运行时以连接到它。
要详细了解网络安全机制和数据工厂支持的选项,请参阅数据访问策略。
适用于版本 1.0
如果数据存储是托管的云数据服务,则可以使用Azure Integration Runtime。 如果访问仅限于防火墙规则中批准的 IP,则可以将 Azure Integration Runtime IP 添加到允许列表。
还可以在 Azure 数据工厂 中使用 托管虚拟网络集成运行时功能访问本地网络,而无需安装和配置自承载集成运行时。
安装版本 2.0 的 Netezza ODBC 驱动程序
若要将 Netezza 连接器与版本 2.0 配合使用,请在运行自承载集成运行时的计算机上安装 IBM Netezza ODBC 驱动程序 版本 11.02.02 或更高版本。
开始
可以使用 .NET SDK、Python SDK、Azure PowerShell、REST API 或Azure 资源管理器模板创建使用复制活动的管道。 有关创建包含复制活动的管道的分步说明,请参阅复制活动教程。
使用用户界面创建到 Netezza 的链接服务
使用以下步骤在 Azure 门户 UI 中创建到 Netezza 的链接服务。
浏览到Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
搜索“Netezza”,然后选择“Netezza”连接器。
配置服务详细信息、测试连接并创建新的链接服务。
连接器配置详细信息
以下部分详述的属性可用于定义特定于 Netezza 连接器的实体。
连接的服务属性
Netezza 连接器现在支持版本 2.0。 请参阅本 部分 ,将您的 Netezza 连接器从版本 1.0 升级。 关于属性详情,请参阅对应部分。
版本 2.0
应用版本 2.0 时,Netezza 链接服务支持以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 类型 | “type”属性必须设置为“Netezza” 。 | 是 |
| 版本 | 指定的版本。 该值为 2.0。 |
是 |
| 服务器 | Netezza 服务器的主机名或 IP 地址。 | 是 |
| 移植 | 服务器侦听器的端口号。 | 是 |
| 数据库 | Netezza 数据库的名称。 | 是 |
| uid | 用于连接到数据库的用户 ID。 | 是 |
| pwd | 用于连接到数据库的密码。 | 是 |
| 安全级别 | 用于驱动程序连接数据存储的安全级别。 示例: SecurityLevel=preferredUnSecured。 支持的值是:- 仅未加密 (onlyUnSecured):该驱动程序不使用 SSL。 - 首选未受保护 (preferredUnSecured)(默认) :如果该服务器提供选择,则驱动程序不使用 SSL。 |
否 |
| connectVia | 用于连接到数据存储的 Integration Runtime。 从先决条件部分了解更多信息。 只能使用自托管集成运行时。 | 否 |
示例
{
"name": "NetezzaLinkedService",
"properties": {
"type": "Netezza",
"version": "2.0",
"typeProperties": {
"server": "<server>",
"port": "<port>",
"database": "<database>",
"uid": "<username>",
"pwd": {
"type": "SecureString",
"value": "<password>"
},
"securityLevel": "preferredUnSecured"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
版本 1.0
应用版本 1.0 时,Netezza 链接服务支持以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 类型 | “type”属性必须设置为“Netezza” 。 | 是 |
| connectionString | 用于连接 Netezza 的 ODBC 连接字符串。 还可以将密码放在Azure 密钥保管库中,并将 pwd 配置从连接字符串中拉出。 有关更多详细信息,请参阅以下示例和文章《在 Azure 密钥保管库 中存储凭据》。 |
是 |
| connectVia | 用于连接到数据存储的 Integration Runtime。 从先决条件部分了解更多信息。 如果未指定,则使用默认Azure Integration Runtime。 | 否 |
典型的连接字符串是 Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>。 下表介绍了更多可以设置的属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 安全级别 | 驱动程序用于连接数据存储的安全级别。 示例: SecurityLevel=preferredUnSecured。 支持的值是:- 仅限未受保护 (onlyUnSecured) :该驱动程序不使用 SSL。 - 首选未受保护 (preferredUnSecured)(默认) :如果该服务器提供选择,则驱动程序不使用 SSL。 |
否 |
注意
该连接器不支持 SSLv3,因为它已被 Netezza 正式弃用。
示例
{
"name": "NetezzaLinkedService",
"properties": {
"type": "Netezza",
"typeProperties": {
"connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
{
"name": "NetezzaLinkedService",
"properties": {
"type": "Netezza",
"typeProperties": {
"connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<user name>;",
"pwd": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
数据集属性
本部分提供 Netezza 数据集支持的属性列表。
若要查看可用于定义数据集的各部分和属性的完整列表,请参阅数据集。
若要从 Netezza 复制数据,请将数据集的 type 属性设置为“NetezzaTable” 。 支持以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 类型 | 数据集的 type 属性必须设置为:NetezzaTable | 是 |
| 架构 | 架构的名称。 | 否(如果在活动源中指定了"query") |
| 表 | 表的名称。 | 否(如果在活动源中指定了"query") |
| tableName | 具有架构的表的名称。 支持此属性是为了向后兼容。 对于新的工作负荷,请使用 schema 和 table。 |
否(如果在活动源中指定了"query") |
示例
{
"name": "NetezzaDataset",
"properties": {
"type": "NetezzaTable",
"linkedServiceName": {
"referenceName": "<Netezza linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {}
}
}
复制活动属性
本部分提供 Netezza 源支持的属性列表。
有关可用于定义活动的各个部分和属性的完整列表,请参阅管道。
以 Netezza 作为源
提示
若要详细了解如何使用数据分区从 Netezza 高效加载数据,请参阅从 Netezza 进行并行复制部分。
若要从 Netezza 复制数据,请将复制活动中的 source 类型设置为“NetezzaSource” 。 复制活动 source 部分支持以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 类型 | 必须将复制活动源的 type 属性设置为“NetezzaSource” 。 | 是 |
| 查询 | 使用自定义 SQL 查询读取数据。 示例: "SELECT * FROM MyTable" |
否(如果指定了数据集中的“tableName”) |
| 分区选项 | 指定用于从 Netezza 加载数据的数据分区选项。 允许值为:None(默认值)、DataSlice 和 DynamicRange。 启用分区选项(即,该选项不为 None)时,用于从 Netezza 数据库并行加载数据的并行度由复制活动上的 parallelCopies 设置控制。 |
否 |
| 分区设置 | 指定数据分区的设置组。 当分区选项不是 None 时适用。 |
否 |
| partitionColumnName | 指定并行复制范围分区使用的源列(整数类型)的名称。 如果未指定,系统会自动检测表的主键并将其用作分区列。 当分区选项是 DynamicRange 时适用。 如果使用查询来检索源数据,请在 WHERE 子句中挂接 ?AdfRangePartitionColumnName。 请参阅从 Netezza 进行并行复制部分的示例。 |
否 |
| partitionUpperBound | 用于从中复制数据的分区列的最大值。 当分区选项是 DynamicRange 时适用。 如果使用查询来检索源数据,请在 WHERE 子句中挂接 ?AdfRangePartitionUpbound。 如需示例,请参阅从 Netezza 进行并行复制部分。 |
否 |
| partitionLowerBound | 用于复制数据的分区列的最小值。 当分区选项是 DynamicRange 时适用。 如果使用查询来检索源数据,请在 WHERE 子句中挂接 ?AdfRangePartitionLowbound。 如需示例,请参阅从 Netezza 进行并行复制部分。 |
否 |
示例:
"activities":[
{
"name": "CopyFromNetezza",
"type": "Copy",
"inputs": [
{
"referenceName": "<Netezza input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "NetezzaSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
从 Netezza 进行并行复制
数据工厂 Netezza 连接器提供内置的数据分区,用于从 Netezza 并行复制数据。 可以在复制活动的“源”表中找到数据分区选项。
启用分区复制后,服务将对 Netezza 源运行并行查询,以便按分区加载数据。 可通过复制活动中的 parallelCopies 设置来控制并行度。 例如,如果将 parallelCopies 设置为 4,服务会根据指定的分区选项和设置并行生成并运行 4 个查询,每个查询从 Netezza 数据库检索一部分数据。
建议同时启用并行复制和数据分区,尤其是从 Netezza 数据库加载大量数据时。 下面是适用于不同方案的建议配置。 将数据复制到基于文件的数据存储中时,建议将数据作为多个文件写入文件夹(仅指定文件夹名称),在这种情况下,性能优于写入单个文件。
| 场景 | 建议的设置 |
|---|---|
| 从大型表进行完整加载。 | 分区选项:数据切片。 在执行期间,服务会自动根据 Netezza 的内置数据切片将数据分区,并按分区复制数据。 |
| 使用自定义查询加载大量数据。 | 分区选项:数据切片。 查询: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>。在执行时,服务会将(在复制活动中设置的)并行复制数 ?AdfPartitionCount和?AdfDataSliceCondition替换为数据切片分区逻辑,然后发送到 Netezza。 |
| 使用自定义查询加载大量数据,其中包含整数列,列内的值均匀分布以用于范围分区。 |
分区选项:动态范围分区。 查询: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>。分区列:指定用于对数据进行分区的列。 可以针对整数数据类型的列进行分区。 分区上限和分区下限:指定是否要对分区列进行筛选,以便仅检索介于下限和上限之间的数据。 在执行期间,服务会将 ?AdfRangePartitionColumnName、?AdfRangePartitionUpbound 和 ?AdfRangePartitionLowbound 替换为每个分区的实际列名称和值范围,并将其发送到 Netezza。 例如,如果为分区列“ID”设置了下限 1、上限 80,并将并行复制设置为 4,则服务会按 4 个分区检索数据。 其 ID 分别介于 [1, 20]、[21, 40]、[41, 60] 和 [61, 80] 之间。 |
示例:使用数据切片分区进行查询
"source": {
"type": "NetezzaSource",
"query": "SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>",
"partitionOption": "DataSlice"
}
示例:使用动态范围分区进行查询
"source": {
"type": "NetezzaSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<dynamic_range_partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column>",
"partitionLowerBound": "<lower_value_of_partition_column>"
}
}
Netezza 的数据类型映射
从 Netezza 复制数据时,以下映射从 Netezza 的数据类型应用到服务使用的内部数据类型。 若要了解复制活动如何将源架构和数据类型映射到接收器,请参阅架构和数据类型映射。
| Netezza 数据类型 | 临时服务数据类型(适用于版本 2.0) | 临时服务数据类型(适用于版本 1.0) |
|---|---|---|
| BOOLEAN | 布尔 | 布尔 |
| CHAR | 字符串 | 字符串 |
| VARCHAR | 字符串 | 字符串 |
| NCHAR | 字符串 | 字符串 |
| NVARCHAR | 字符串 | 字符串 |
| 日期 | 日期 | 日期/时间 |
| TIMESTAMP | 日期/时间 | 日期/时间 |
| TIME | 时间 | TimeSpan |
| INTERVAL | 不支持 | TimeSpan |
| 带时区的时间 | 字符串 | 字符串 |
| NUMERIC(p,s) | 十进制 | 十进制 |
| 真正 | 单身 | 单身 |
| 双精度 | 加倍 | 加倍 |
| 整数 | Int32 | Int32 |
| BYTEINT | Int16 | SByte |
| SMALLINT | Int16 | Int16 |
| BIGINT | Int64 | Int64 |
Lookup 活动属性
若要了解有关属性的详细信息,请查看 Lookup 活动。
Netezza 连接器生命周期和升级
下表显示了不同版本的 Netezza 连接器的发布阶段和更改日志:
| 版本 | 发布阶段 | 更改日志 |
|---|---|---|
| 版本 1.0 | Removed | 不適用。 |
| 版本 2.0 | GA版本现已可用 | • 仅支持自承载集成运行时。 • BYTEINT 读取为 Int16 数据类型。 • DATE 被读取为日期数据类型。 • TIME 被读取为时间数据类型。 • 不支持 INTERVAL。 |
将 Netezza 连接器从版本 1.0 升级到版本 2.0
- 在 “编辑链接服务 ”页中,为版本选择 2.0。 有关详细信息,请参阅 链接服务版本 2.0 属性。
- Netezza 链接服务版本 2.0 的数据类型映射不同于版本 1.0 的数据类型映射。 若要了解最新的数据类型映射,请参阅 Netezza 的数据类型映射。
- 仅支持自承载集成运行时。 版本 2.0 不支持Azure集成运行时。
相关内容
有关复制活动支持作为源和接收器的数据存储的列表,请参阅支持的数据存储和格式。