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.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Tip
Experimente o Data Factory no Microsoft Fabric, uma solução de análise completa para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Este artigo descreve como usar a atividade de cópia nos pipelines do Azure Data Factory ou do Azure Synapse Analytics para copiar dados de uma tabela do Netezza. O artigo se baseia na Atividade de Cópia, que apresenta uma visão geral da Atividade de Cópia.
Tip
Para o cenário de migração de dados do Netezza para o Azure, saiba mais em Migrar dados do servidor do Netezza local para o Azure.
Important
O conector Netezza versão 1.0 está no estágio de remoção. É recomendável atualizar o conector do Netezza da versão 1.0 para a 2.0.
Capacidades suportadas
Há suporte para o conector do Netezza para as seguintes funcionalidades:
| Capacidades suportadas | IR |
|---|---|
| Atividade de cópia (origem/-) | ① (somente para a versão 1.0) ② |
| Atividade de pesquisa | ① (somente para a versão 1.0) ② |
① Tempo de execução de integração do Azure ② Tempo de execução de integração auto-hospedado
Para obter uma lista de armazenamentos de dados que o Copy Activity suporta como fontes e coletores, consulte Armazenamentos de dados e formatos compatíveis.
Esse conector Netezza suporta:
- Cópia paralela da fonte. Confira a seção Cópia paralela do Netezza para obter detalhes.
- Netezza Performance Server versão 11.
- Versões do Windows neste artigo.
O serviço fornece um driver interno para habilitar a conectividade. Você não precisa instalar manualmente nenhum driver para usar este conector.
Para a versão 2.0, você precisa instalar um driver ODBC IBM Netezza manualmente. Para a versão 1.0, o serviço fornece um driver interno para habilitar a conectividade. Você não precisa instalar manualmente nenhum driver para usar este conector.
Prerequisites
Se o armazenamento de dados estiver localizado dentro de uma rede local, em uma rede virtual do Azure ou na Amazon Virtual Private Cloud, você precisará configurar um runtime de integração auto-hospedada para se conectar a ele.
Para obter mais informações sobre os mecanismos de segurança de rede e as opções compatíveis com o Data Factory, consulte Estratégias de acesso a dados.
Para a versão 1.0
Se o armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Azure Integration Runtime. Se o acesso for restrito a IPs aprovados nas regras de firewall, você poderá adicionar IPs do Azure Integration Runtime à lista de permitidos.
Você também pode usar o recurso de runtime de integração da rede virtual gerenciada no Azure Data Factory para acessar a rede local sem instalar e configurar um runtime de integração auto-hospedada.
Instalar o driver ODBC do Netezza para a versão 2.0
Para usar o conector do Netezza com a versão 2.0, instale o driver ODBC do IBM Netezza versão 11.02.02 ou superior no computador que executa o runtime de Integração auto-hospedada.
Introdução
Você pode criar um pipeline que usa uma atividade de cópia usando o SDK do .NET, o SDK do Python, o Azure PowerShell, a API REST ou um modelo do Azure Resource Manager. Confira o Tutorial de Atividade de Cópia para obter instruções passo a passo sobre a criação de um pipeline com uma atividade de cópia.
Criar um serviço vinculado para o Netezza usando a interface do usuário
Use as etapas a seguir para criar um serviço vinculado ao Netezza na interface do usuário do portal do Azure.
Navegue até a guia Gerenciar no workspace do Azure Data Factory ou do Synapse e selecione Serviços Vinculados. Depois, clique em Novo:
Procure Netezza e escolha o conector do Netezza.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
Detalhes da configuração do conector
As seções a seguir fornecem detalhes sobre propriedades que você pode usar para definir entidades específicas do conector Netezza.
Propriedades do serviço vinculado
O conector do Netezza agora dá suporte à versão 2.0. Consulte esta seção para atualizar a versão do conector do Netezza da versão 1.0. Para obter detalhes sobre as propriedades, consulte as seções correspondentes.
Versão 2.0
O serviço vinculado do Netezza dá suporte às seguintes propriedades ao aplicar a versão 2.0:
| Property | Description | Required |
|---|---|---|
| tipo | O tipo propriedade deve ser definida como Netezza. | Yes |
| versão | A versão que você especifica. O valor é 2.0. |
Yes |
| servidor | O nome do host ou o endereço IP do servidor Netezza. | Yes |
| porta | O número da porta do ouvinte do servidor. | Yes |
| banco de dados | Nome do banco de dados Netezza. | Yes |
| uid | A ID do usuário usada para se conectar ao banco de dados. | Yes |
| pwd | A senha usada para se conectar ao banco de dados. | Yes |
| SecurityLevel | O nível de segurança que usa o driver para a conexão ao armazenamento de dados. Exemplo: SecurityLevel=preferredUnSecured. Os valores com suporte são:- Apenas inseguro (onlyUnSecured): o driver não usa SSL. - Preferencialmente não segura (preferredUnSecured) (padrão): se o servidor fornece uma opção, o driver não usa SSL. |
No |
| connectVia | O runtime de integração a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos. Você só pode usar o runtime de integração auto-hospedada. | No |
Example
{
"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"
}
}
}
Versão 1.0
As propriedades a seguir são suportadas para o serviço vinculado do Netezza quando se aplica a versão 1.0:
| Property | Description | Required |
|---|---|---|
| tipo | O tipo propriedade deve ser definida como Netezza. | Yes |
| connectionString | Uma cadeia de conexão ODBC para conectar-se ao Netezza. Você também pode colocar uma senha no Azure Key Vault e extrair a configuração pwd da cadeia de conexão. Confira os exemplos a seguir e o artigo Armazenar credenciais no Azure Key Vault com mais detalhes. |
Yes |
| connectVia | O runtime de integração a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos. Se não especificado, o Azure Integration Runtime padrão será usado. | No |
Uma cadeia de conexão válida é Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>. A tabela a seguir descreve as propriedades mais que você pode definir:
| Property | Description | Required |
|---|---|---|
| SecurityLevel | O nível de segurança que usa o driver para a conexão ao armazenamento de dados. Exemplo: SecurityLevel=preferredUnSecured. Os valores com suporte são:- Apenas inseguro (onlyUnSecured): o driver não usa SSL. - Preferencialmente não segura (preferredUnSecured) (padrão): se o servidor fornece uma opção, o driver não usa SSL. |
No |
Note
O conector não suporta SSLv3, pois ele foi oficialmente descontinuado pela Netezza.
Example
{
"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"
}
}
}
Exemplo: armazenar a senha no Azure Key Vault
{
"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"
}
}
}
Propriedades do conjunto de dados
Esta seção fornece uma lista de propriedades que o conjunto de dados do Netezza suporta.
Para obter uma lista completa de seções e propriedades que estão disponíveis para definir conjuntos de dados, consulte Conjuntos de Dados.
Para copiar dados do Netezza, defina as tipo propriedade do conjunto de dados como NetezzaTable. Há suporte para as seguintes propriedades:
| Property | Description | Required |
|---|---|---|
| tipo | A propriedade type do conjunto de dados deve ser definida como: NetezzaTable | Yes |
| esquema | Nome do esquema. | Não (se "query" na fonte da atividade for especificada) |
| tabela | Nome da tabela. | Não (se "query" na fonte da atividade for especificada) |
| tableName | Nome da tabela com esquema. Essa propriedade é compatível com versões anteriores. Use schema e table para uma nova carga de trabalho. |
Não (se "query" na fonte da atividade for especificada) |
Example
{
"name": "NetezzaDataset",
"properties": {
"type": "NetezzaTable",
"linkedServiceName": {
"referenceName": "<Netezza linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {}
}
}
Propriedades da Atividade de Cópia
Esta seção fornece uma lista de propriedades que a fonte do Netezza suporta.
Para obter uma lista completa de seções e propriedades que estão disponíveis para definir atividades, consulte Pipelines.
Netezza como fonte
Tip
Para carregar dados do Netezza com eficiência usando o particionamento de dados, saiba mais na seção Cópia paralela do Netezza.
Para copiar dados do Netezza, defina as fonte tipo de atividade de cópia para NetezzaSource. As seguintes propriedades são suportadas na seção source da atividade de cópia:
| Property | Description | Required |
|---|---|---|
| tipo | A propriedade tipo da origem da Atividade de Cópia deve ser configurada para NetezzaSource. | Yes |
| consulta | Utiliza a consulta SQL personalizada para ler os dados. Exemplo: "SELECT * FROM MyTable" |
Não (se "tableName" no conjunto de dados for especificado) |
| partitionOptions | Especifica as opções de particionamento de dados usadas para carregar dados do Netezza. Os valores permitidos são: None (padrão), DataSlice e DynamicRange. Quando uma opção de partição é habilitada (ou seja, não None), o grau de paralelismo para carregar dados simultaneamente de um banco de dados do Netezza é controlado pela configuração parallelCopies na atividade de cópia. |
No |
| partitionSettings | Especifique o grupo de configurações para o particionamento de dados. Aplicar quando a opção de partição não for None. |
No |
| partitionColumnName | Especifique o nome da coluna de origem no tipo de inteiro que será usado pelo particionamento de intervalo para cópia paralela. Se não especificado, a chave primária da tabela será detectada automaticamente e usada como a coluna de partição. Aplicar quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?AdfRangePartitionColumnName na cláusula WHERE. Confira o exemplo na seção Cópia paralela do Netezza. |
No |
| partitionUpperBound | O valor máximo da coluna de partição para copiar dados. Aplicar quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?AdfRangePartitionUpbound na cláusula WHERE. Para obter um exemplo, confira a seção Cópia paralela do Netezza. |
No |
| partitionLowerBound | O valor mínimo da coluna de partição para copiar dados. Aplicar quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?AdfRangePartitionLowbound na cláusula WHERE. Para obter um exemplo, confira a seção Cópia paralela do Netezza. |
No |
Example:
"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>"
}
}
}
]
Cópia paralela do Netezza
O conector do Netezza Data Factory fornece particionamento de dados interno para copiar dados do Netezza em paralelo. Você pode encontrar opções de particionamento de dados na tabela Origem da atividade de cópia.
Quando você habilita a cópia particionada, o serviço executa consultas paralelas com relação à sua fonte do Netezza para carregar dados por partições. O grau paralelo é controlado pela configuração do parallelCopies na atividade de cópia. Por exemplo, ao definir parallelCopies como quatro, o serviço gera e executa simultaneamente quatro consultas com base na opção de partição especificada e nas configurações, e cada consulta recupera uma parte dos dados do banco de dados do Netezza.
É recomendável habilitar a cópia paralela com o particionamento de dados, especialmente quando você carrega grandes quantidades de dados do banco de dados Netezza. Veja a seguir as configurações sugeridas para cenários diferentes. Ao copiar dados para o armazenamento de dados baseado em arquivo, recomendamos gravá-los em uma pasta como vários arquivos (apenas especifique o nome da pasta) para ter um desempenho melhor do que gravar em um arquivo.
| Scenario | Configurações sugeridas |
|---|---|
| Carga completa de uma tabela grande. |
Opção de partição: Fatia de dados. Durante a execução, o serviço particiona automaticamente os dados com base nas fatias de dados internas do Netezza e copiam os dados por partições. |
| Carregue uma grande quantidade de dados usando uma consulta personalizada. |
Opção de partição: Fatia de dados. Consulta: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.Durante a execução, o serviço substitui ?AdfPartitionCount (com número de cópia paralela definido na atividade de cópia) e ?AdfDataSliceCondition pela lógica de partição da fatia de dados e envia para o Netezza. |
| Carregue uma grande quantidade de dados usando uma consulta personalizada, tendo uma coluna de inteiros com valor distribuído uniformemente para o particionamento de intervalo. |
Opções de partição: partição de intervalo dinâmico. Consulta: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.Coluna de partição: especifique a coluna usada para particionar dados. Você pode particionar em relação à coluna com tipo de dados Integer. Limite superior da partição e Limite inferior da partição: especifique se deseja filtrar a coluna de partição para recuperar dados somente entre os intervalos inferior e superior. Durante a execução, o serviço substitui ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound e ?AdfRangePartitionLowbound pelo nome real da coluna e os intervalos de valores de cada partição e envia ao Netezza. Por exemplo, se a coluna de partição "ID" for definida com o limite inferior de 1 e o limite superior de 80, com a cópia paralela definida como 4, o serviço recuperará dados por 4 partições. Suas IDs estão entre [1, 20], [21, 40], [41, 60] e [61, 80], respectivamente. |
Exemplo: consulta com a partição da fatia de dados
"source": {
"type": "NetezzaSource",
"query": "SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>",
"partitionOption": "DataSlice"
}
Exemplo: consulta com a partição do intervalo dinâmico
"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>"
}
}
Mapeamento de tipo de dados para Netezza
Quando você copia dados do Netezza, os mapeamentos a seguir se aplicam dos tipos de dados do Netezza aos tipos de dados internos usados pelo serviço. Para saber mais sobre como a atividade Copy mapeia o tipo de dados e esquema de origem para o coletor, consulte Mapeamentos de tipo de dados e esquema.
| Tipo de dados Netezza | Tipo de dados de serviço provisório (para a versão 2.0) | Tipo de dados de serviço provisório (para a versão 1.0) |
|---|---|---|
| BOOLEAN | booleano | booleano |
| CHAR | String | String |
| VARCHAR | String | String |
| NCHAR | String | String |
| NVARCHAR | String | String |
| DATE | Date | DateTime |
| TIMESTAMP | DateTime | DateTime |
| TIME | Time | TimeSpan |
| INTERVAL | Sem suporte | TimeSpan |
| TIME WITH TIME ZONE | String | String |
| NUMERIC(p,s) | Decimal | Decimal |
| REAL | Single | Single |
| Dupla precisão | Double | Double |
| INTEGER | Int32 | Int32 |
| BYTEINT | Int16 | SByte |
| SMALLINT | Int16 | Int16 |
| BIGINT | Int64 | Int64 |
Pesquisar propriedades de atividade
Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.
Ciclo de vida e atualização do conector do Netezza
A tabela a seguir mostra o estágio de lançamento e os logs de alteração para versões diferentes do conector do Netezza:
| Version | Fase de liberação | Log de alterações |
|---|---|---|
| Versão 1.0 | Removed | Não aplicável. |
| Versão 2.0 | Versão GA disponível | • Dá suporte apenas ao runtime de integração auto-hospedada. • BYTEINT é lido como tipo de dados Int16. • DATA é lida como o tipo de dados de data. • TIME é lido como tipo de dados tempo. • Não há suporte para INTERVAL. |
Atualizar o conector do Netezza da versão 1.0 para a versão 2.0
- Na página Editar serviço vinculado , selecione 2.0 para a versão. Para obter mais informações, consulte as propriedades da versão 2.0 do serviço vinculado.
- O mapeamento de tipo de dados para o serviço vinculado netezza versão 2.0 é diferente do da versão 1.0. Para saber o mapeamento de tipo de dados mais recente, consulte o mapeamento de tipo de dados para Netezza.
- Dá suporte apenas ao runtime de integração auto-hospedada. Não há suporte para o Azure Integration Runtime na versão 2.0.
Conteúdo relacionado
Para obter uma lista de armazenamentos de dados que o Copy Activity suporta como fontes e coletores, consulte Armazenamentos de dados e formatos compatíveis.