Copiare dati da Netezza usando Azure Data FactoryCopy data from Netezza by using Azure Data Factory

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da Netezza.This article outlines how to use Copy Activity in Azure Data Factory to copy data from Netezza. L'articolo è basato su Attività di copia in Azure Data Factory, dove viene presentata una panoramica generale dell'attività di copia.The article builds on Copy Activity in Azure Data Factory, which presents a general overview of Copy Activity.

Suggerimento

Per lo scenario di migrazione dei dati da Netezza ad Azure, vedere l'articolo relativo all'uso di Azure Data Factory per eseguire la migrazione dei dati dal server Netezza locale ad Azure.For data migration scenario from Netezza to Azure, learn more from Use Azure Data Factory to migrate data from on-premises Netezza server to Azure.

Funzionalità supportateSupported capabilities

Questo connettore Netezza è supportato per le attività seguenti:This Netezza connector is supported for the following activities:

È possibile copiare dati da Netezza a qualsiasi archivio dati di sink supportato.You can copy data from Netezza to any supported sink data store. Per un elenco degli archivi dati supportati dall'attività di copia come origini e sink, vedere Archivi dati e formati supportati.For a list of data stores that Copy Activity supports as sources and sinks, see Supported data stores and formats.

Netezza Connector supporta la copia parallela dall'origine.Netezza connector supports parallel copying from source. Per informazioni dettagliate, vedere la sezione copia parallela da Netezza .See the Parallel copy from Netezza section for details.

Azure Data Factory fornisce un driver predefinito per abilitare la connettività.Azure Data Factory provides a built-in driver to enable connectivity. Non è pertanto necessario installare manualmente un driver per usare questo connettore.You don't need to manually install any driver to use this connector.

PrerequisitiPrerequisites

Se l'archivio dati è configurato in uno dei modi seguenti, è necessario configurare un Integration Runtime self-hosted per connettersi a questo archivio dati:If your data store is configured in one of the following ways, you need to set up a Self-hosted Integration Runtime in order to connect to this data store:

  • L'archivio dati si trova all'interno di una rete locale, all'interno di una rete virtuale di Azure o all'interno di un cloud privato virtuale di Amazon.The data store is located inside an on-premises network, inside Azure Virtual Network, or inside Amazon Virtual Private Cloud.
  • L'archivio dati è un servizio dati cloud gestito in cui l'accesso è limitato agli indirizzi IP consentiti nelle regole del firewall.The data store is a managed cloud data service where the access is restricted to IPs whitelisted in the firewall rules.

Attività inizialiGet started

È possibile creare una pipeline che usa un'attività di copia tramite .NET SDK, Python SDK, Azure PowerShell, l'API REST o un modello di Azure Resource Manager.You can create a pipeline that uses a copy activity by using the .NET SDK, the Python SDK, Azure PowerShell, the REST API, or an Azure Resource Manager template. Per istruzioni dettagliate su come creare una pipeline con un'attività di copia, vedere l'esercitazione sull'attività di copia.See the Copy Activity tutorial for step-by-step instructions on how to create a pipeline that has a copy activity.

Le sezioni seguenti presentano informazioni dettagliate sulle proprietà che è possibile usare per definire entità di Data Factory specifiche per il connettore Netezza.The following sections provide details about properties you can use to define Data Factory entities that are specific to the Netezza connector.

Proprietà del servizio collegatoLinked service properties

Per il servizio collegato Netezza sono supportate le proprietà seguenti:The following properties are supported for the Netezza linked service:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su Netezza.The type property must be set to Netezza. YesYes
connectionStringconnectionString Stringa di connessione ODBC per la connessione a Netezza.An ODBC connection string to connect to Netezza.
Contrassegnare questo campo come SecureString per archiviare la chiave in modo sicuro in Data Factory.Mark this field as a SecureString to store it securely in Data Factory. È anche possibile inserire la password in Azure Key Vault ed eseguire lo spostamento forzato dei dati della configurazione pwd all'esterno della stringa di connessione.You can also put password in Azure Key Vault and pull the pwd configuration out of the connection string. Vedere gli esempi seguenti e l'articolo Archiviare le credenziali in Azure Key Vault per altri dettagli.Refer to the following samples and Store credentials in Azure Key Vault article with more details.
Yes
connectViaconnectVia Runtime di integrazione da usare per la connessione all'archivio dati.The Integration Runtime to use to connect to the data store. Ulteriori informazioni sono disponibili nella sezione prerequisiti .Learn more from Prerequisites section. Se questa proprietà non è specificata, viene usato il tipo Azure Integration Runtime predefinito.If not specified, the default Azure Integration Runtime is used. NoNo

Una stringa di connessione tipica è Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>.A typical connection string is Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>. La tabella seguente descrive altre proprietà che è possibile impostare:The following table describes more properties that you can set:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
SecurityLevelSecurityLevel Il livello di sicurezza (SSL/TLS) che usa il driver per la connessione all'archivio dati.The level of security (SSL/TLS) that the driver uses for the connection to the data store. Esempio: SecurityLevel=preferredSecured.Example: SecurityLevel=preferredSecured. I valori supportati sono:Supported values are:
- Solo senza protezione (onlyUnSecured): Il driver non utilizza SSL.- Only unsecured (onlyUnSecured): The driver doesn't use SSL.
- Preferiti senza protezione (preferredUnSecured) (impostazione predefinita) : Se il server fornisce una scelta, il driver non utilizza SSL.- Preferred unsecured (preferredUnSecured) (default): If the server provides a choice, the driver doesn't use SSL.
- Preferiti con protezione (preferredSecured) : Se il server fornisce una scelta, il driver utilizza SSL.- Preferred secured (preferredSecured): If the server provides a choice, the driver uses SSL.
- Solo con protezione (onlySecured) : Il driver non si connette a meno che non sia disponibile una connessione SSL.- Only secured (onlySecured): The driver doesn't connect unless an SSL connection is available.
NoNo
CaCertFileCaCertFile Il percorso completo per il certificato SSL usato dal server.The full path to the SSL certificate that's used by the server. Esempio: CaCertFile=<cert path>;Example: CaCertFile=<cert path>; Sì, se SSL è abilitatoYes, if SSL is enabled

EsempioExample

{
    "name": "NetezzaLinkedService",
    "properties": {
        "type": "Netezza",
        "typeProperties": {
            "connectionString": {
                "type": "SecureString",
                "value": "Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Esempio: archiviare la password in Azure Key VaultExample: store password in Azure Key Vault

{
    "name": "NetezzaLinkedService",
    "properties": {
        "type": "Netezza",
        "typeProperties": {
            "connectionString": {
                 "type": "SecureString",
                 "value": "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"
        }
    }
}

Proprietà del set di datiDataset properties

Questa sezione presenta un elenco delle proprietà supportate dal set di dati Netezza.This section provides a list of properties that the Netezza dataset supports.

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo Set di dati.For a full list of sections and properties that are available for defining datasets, see Datasets.

Per copiare dati da Netezza, impostare la proprietà type del set di dati su NetezzaTable.To copy data from Netezza, set the type property of the dataset to NetezzaTable. Sono supportate le proprietà seguenti:The following properties are supported:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type del set di dati deve essere impostata su: NetezzaTableThe type property of the dataset must be set to: NetezzaTable Yes
schemaschema Nome dello schema.Name of the schema. No (se nell'origine dell'attività è specificato "query")No (if "query" in activity source is specified)
tabletable Nome della tabella.Name of the table. No (se nell'origine dell'attività è specificato "query")No (if "query" in activity source is specified)
tableNametableName Nome della tabella con schema.Name of the table with schema. Questa proprietà è supportata per compatibilità con le versioni precedenti.This property is supported for backward compatibility. Usare schema etable per il nuovo carico di lavoro.Use schema and table for new workload. No (se nell'origine dell'attività è specificato "query")No (if "query" in activity source is specified)

EsempioExample

{
    "name": "NetezzaDataset",
    "properties": {
        "type": "NetezzaTable",
        "linkedServiceName": {
            "referenceName": "<Netezza linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {}
    }
}

Proprietà dell'attività di copiaCopy Activity properties

Questa sezione presenta un elenco delle proprietà supportate dall'origine Netezza.This section provides a list of properties that the Netezza source supports.

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere Pipeline.For a full list of sections and properties that are available for defining activities, see Pipelines.

Netezza come origineNetezza as source

Suggerimento

Per caricare i dati da Netezza in modo efficiente usando il partizionamento dei dati, vedere la sezione copia parallela da Netezza .To load data from Netezza efficiently by using data partitioning, learn more from Parallel copy from Netezza section.

Per copiare dati da Netezza, impostare il tipo di origine nell'attività di copia su NetezzaSource.To copy data from Netezza, set the source type in Copy Activity to NetezzaSource. Nella sezione source dell'attività di copia sono supportate le proprietà seguenti:The following properties are supported in the Copy Activity source section:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type dell'origine dell'attività di copia deve essere impostata su NetezzaSource.The type property of the Copy Activity source must be set to NetezzaSource. Yes
queryquery Usare la query SQL personalizzata per leggere i dati.Use the custom SQL query to read data. Esempio: "SELECT * FROM MyTable"Example: "SELECT * FROM MyTable" No (se nel set di dati è specificato "tableName")No (if "tableName" in dataset is specified)
partitionOptionspartitionOptions Specifica le opzioni di partizionamento dei dati utilizzate per caricare dati da Netezza.Specifies the data partitioning options used to load data from Netezza.
Consenti valori: Nessuna (impostazione predefinita), dataslicee DynamicRange.Allow values are: None (default), DataSlice, and DynamicRange.
Quando è abilitata un'opzione di partizione (ovvero non None), il grado di parallelismo per caricare simultaneamente i dati da un database Netezza viene controllato impostando parallelCopies sull'attività di copia.When a partition option is enabled (that is, not None), the degree of parallelism to concurrently load data from a Netezza database is controlled by parallelCopies setting on the copy activity.
NoNo
partitionSettingspartitionSettings Consente di specificare il gruppo di impostazioni per il partizionamento dei dati.Specify the group of the settings for data partitioning.
Applicare quando l'opzione partition Nonenon è.Apply when partition option isn't None.
NoNo
partitionColumnNamepartitionColumnName Specificare il nome della colonna di origine nel tipo Integer che verrà utilizzato dal partizionamento dell'intervallo per la copia parallela.Specify the name of the source column in integer type that will be used by range partitioning for parallel copy. Se non è specificato, la chiave primaria della tabella viene rilevata automaticamente e utilizzata come colonna di partizione.If not specified, the primary key of the table is autodetected and used as the partition column.
Applicare quando l'opzione di partizione DynamicRangeè.Apply when the partition option is DynamicRange. Se si utilizza una query per recuperare i dati di origine, ?AdfRangePartitionColumnName associare la clausola WHERE.If you use a query to retrieve the source data, hook ?AdfRangePartitionColumnName in WHERE clause. Vedere l'esempio nella sezione copia parallela da Netezza .See example in Parallel copy from Netezza section.
NoNo
partitionUpperBoundpartitionUpperBound Valore massimo della colonna di partizione in cui copiare i dati.The maximum value of the partition column to copy data out.
Applica quando l'opzione di DynamicRangepartizione è.Apply when partition option is DynamicRange. Se si utilizza query per recuperare i dati di origine ?AdfRangePartitionUpbound , associare la clausola WHERE.If you use query to retrieve source data, hook ?AdfRangePartitionUpbound in the WHERE clause. Per un esempio, vedere la sezione copia parallela da Netezza .For an example, see the Parallel copy from Netezza section.
NoNo
partitionLowerBoundpartitionLowerBound Valore minimo della colonna di partizione in cui copiare i dati.The minimum value of the partition column to copy data out.
Applicare quando l'opzione di partizione DynamicRangeè.Apply when the partition option is DynamicRange. Se si utilizza una query per recuperare i dati di origine, ?AdfRangePartitionLowbound associare la clausola WHERE.If you use a query to retrieve the source data, hook ?AdfRangePartitionLowbound in the WHERE clause. Per un esempio, vedere la sezione copia parallela da Netezza .For an example, see the Parallel copy from Netezza section.
NoNo

Esempio: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>"
            }
        }
    }
]

Copia parallela da NetezzaParallel copy from Netezza

Il connettore Data Factory Netezza fornisce il partizionamento dei dati predefinito per copiare dati da Netezza in parallelo.The Data Factory Netezza connector provides built-in data partitioning to copy data from Netezza in parallel. È possibile trovare le opzioni di partizionamento dei dati nella tabella di origine dell'attività di copia.You can find data partitioning options on the Source table of the copy activity.

Screenshot delle opzioni di partizione

Quando si Abilita la copia partizionata, Data Factory esegue query parallele sull'origine Netezza per caricare i dati in base alle partizioni.When you enable partitioned copy, Data Factory runs parallel queries against your Netezza source to load data by partitions. Il grado parallelo è controllato dall' parallelCopies impostazione dell'attività di copia.The parallel degree is controlled by the parallelCopies setting on the copy activity. Se, ad esempio, si parallelCopies imposta su quattro, data factory genera ed esegue contemporaneamente quattro query in base all'opzione di partizione specificata e alle impostazioni e ogni query recupera una porzione di dati dal database Netezza.For example, if you set parallelCopies to four, Data Factory concurrently generates and runs four queries based on your specified partition option and settings, and each query retrieves a portion of data from your Netezza database.

Si consiglia di abilitare la copia parallela con il partizionamento dei dati, specialmente quando si caricano grandi quantità di dati dal database di Netezza.You are suggested to enable parallel copy with data partitioning especially when you load large amount of data from your Netezza database. Di seguito sono elencate le configurazioni consigliate per diversi scenari.The following are suggested configurations for different scenarios. Quando si copiano dati in un archivio dati basato su file, viene riordinata la scrittura in una cartella come più file (specifica solo il nome della cartella), nel qual caso le prestazioni sono migliori rispetto alla scrittura in un singolo file.When copying data into file-based data store, it's recommanded to write to a folder as multiple files (only specify folder name), in which case the performance is better than writing to a single file.

ScenarioScenario Impostazioni consigliateSuggested settings
Caricamento completo da una tabella di grandi dimensioni.Full load from large table. Opzione partizione: Sezione di dati.Partition option: Data Slice.

Durante l'esecuzione, Data Factory partiziona automaticamente i dati in base alle sezioni di dati predefinite di Netezzae copia i dati in base alle partizioni.During execution, Data Factory automatically partitions the data based on Netezza's built-in data slices, and copies data by partitions.
Caricare grandi quantità di dati tramite una query personalizzata.Load large amount of data by using a custom query. Opzione partizione: Sezione di dati.Partition option: Data Slice.
Query: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.Query: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.
Durante l'esecuzione, data factory ?AdfPartitionCount sostituisce (con il numero di copia parallelo impostato sull'attività ?AdfDataSliceCondition di copia) e con la logica della partizione della sezione di dati e invia a Netezza.During execution, Data Factory replaces ?AdfPartitionCount (with parallel copy number set on copy activity) and ?AdfDataSliceCondition with the data slice partition logic, and sends to Netezza.
Caricare grandi quantità di dati tramite una query personalizzata, con una colonna di tipo integer con un valore distribuito uniformemente per il partizionamento dell'intervallo.Load large amount of data by using a custom query, having an integer column with evenly distributed value for range partitioning. Opzioni partizione: Partizione a intervalli dinamici.Partition options: Dynamic range partition.
Query: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.Query: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Colonna partizione: Specificare la colonna utilizzata per partizionare i dati.Partition column: Specify the column used to partition data. È possibile partizionare la colonna con il tipo di dati Integer.You can partition against the column with integer data type.
Limite superiore della partizione e limite inferiore della partizione: Specificare se si desidera filtrare in base alla colonna di partizione per recuperare i dati solo tra l'intervallo inferiore e quello superiore.Partition upper bound and partition lower bound: Specify if you want to filter against the partition column to retrieve data only between the lower and upper range.

Durante l'esecuzione, data factory ?AdfRangePartitionColumnNamesostituisce ?AdfRangePartitionUpbound, e ?AdfRangePartitionLowbound con il nome della colonna e gli intervalli di valori effettivi per ogni partizione e invia a Netezza.During execution, Data Factory replaces ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound, and ?AdfRangePartitionLowbound with the actual column name and value ranges for each partition, and sends to Netezza.
Ad esempio, se la colonna di partizione "ID" è impostata con il limite inferiore come 1 e il limite superiore come 80, con la copia parallela impostata su 4, Data Factory recupera i dati di 4 partizioni.For example, if your partition column "ID" set with the lower bound as 1 and the upper bound as 80, with parallel copy set as 4, Data Factory retrieves data by 4 partitions. I rispettivi ID sono rispettivamente compresi tra [1, 20], [21, 40], [41, 60] e [61, 80].Their IDs are between [1,20], [21, 40], [41, 60], and [61, 80], respectively.

Esempio: query con partizione di sezione datiExample: query with data slice partition

"source": {
    "type": "NetezzaSource",
    "query": "SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>",
    "partitionOption": "DataSlice"
}

Esempio: query con partizione a intervalli dinamiciExample: query with dynamic range partition

"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>"
    }
}

Proprietà attività di ricercaLookup activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività di ricerca.To learn details about the properties, check Lookup activity.

Passaggi successiviNext steps

Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia in Azure Data Factory, vedere Archivi dati e formati supportati.For a list of data stores that Copy Activity supports as sources and sinks in Azure Data Factory, see Supported data stores and formats.