Kopírování dat z Netezza pomocí Azure Data Factory nebo Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tento článek popisuje, jak pomocí aktivity kopírování v kanálech Azure Data Factory nebo Synapse Analytics kopírovat data z Netezza. Článek vychází z aktivity kopírování, která představuje obecný přehled aktivity kopírování.

Tip

Další informace o scénáři migrace dat z Netezza do Azure najdete v tématu Migrace dat z místního serveru Netezza do Azure.

Podporované funkce

Tento konektor Netezza se podporuje pro následující funkce:

Podporované funkce IR
aktivita Copy (source/-) ① ②
Aktivita Lookup ① ②

(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime

Seznam úložišť dat, která aktivita kopírování podporuje jako zdroje a jímky, najdete v tématu Podporovaná úložiště dat a formáty.

Konektor Netezza podporuje paralelní kopírování ze zdroje. Podrobnosti najdete v části Paralelní kopie z Netezza .

Služba poskytuje integrovaný ovladač, který umožňuje připojení. Abyste mohli tento konektor používat, nemusíte ručně instalovat žádný ovladač.

Požadavky

Pokud se vaše úložiště dat nachází v místní síti, virtuální síti Azure nebo v privátním cloudu Amazon, musíte nakonfigurovat místní prostředí Integration Runtime , abyste se k němu mohli připojit.

Pokud je vaším úložištěm dat spravovaná cloudová datová služba, můžete použít azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat IP adresy Azure Integration Runtime.

V Azure Data Factory můžete také použít funkci prostředí Integration Runtime spravované virtuální sítě pro přístup k místní síti bez instalace a konfigurace místního prostředí Integration Runtime.

Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.

Začínáme

Kanál, který používá aktivitu kopírování, můžete vytvořit pomocí sady .NET SDK, sady Python SDK, Azure PowerShell, rozhraní REST API nebo šablony Azure Resource Manager. Podrobné pokyny k vytvoření kanálu s aktivitou kopírování najdete v kurzu Aktivitakopírování.

Vytvoření propojené služby pro Netezza pomocí uživatelského rozhraní

Pomocí následujícího postupu vytvořte propojenou službu pro Netezza v uživatelském rozhraní Azure Portal.

  1. V pracovním prostoru Azure Data Factory nebo Synapse přejděte na kartu Spravovat, vyberte Propojené služby a klikněte na Nový:

  2. Vyhledejte Netezza a vyberte konektor Netezza.

    Snímek obrazovky konektoru Netezza

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Snímek obrazovky s konfigurací propojené služby pro Netezza

Podrobnosti o konfiguraci konektoru

Následující části obsahují podrobnosti o vlastnostech, které můžete použít k definování entit, které jsou specifické pro konektor Netezza.

Vlastnosti propojené služby

Propojené služby Netezza podporují následující vlastnosti:

Vlastnost Popis Povinné
typ Vlastnost type musí být nastavená na Hodnotu Netezza. Yes
připojovací řetězec Připojovací řetězec ODBC pro připojení k Netezza.
Můžete také zadat heslo do Azure Key Vault a vytáhnout pwd konfiguraci z připojovacího řetězce. Další podrobnosti najdete v následujících ukázkách a v článku o ukládání přihlašovacích údajů v Azure Key Vault.
Yes
connectVia Integration Runtime pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije se výchozí azure Integration Runtime. Ne

Typický připojovací řetězec je Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>. Následující tabulka popisuje další vlastnosti, které můžete nastavit:

Vlastnost Popis Povinné
Úroveň zabezpečení Úroveň zabezpečení, kterou ovladač používá pro připojení k úložišti dat. Ovladač podporuje připojení SSL s jednosměrným ověřováním pomocí ssl verze 3.
Příklad: SecurityLevel=preferredSecured. Podporované hodnoty jsou:
- Pouze nezabezpečené (onlyUnSecured): Ovladač nepoužívá SSL.
- Preferovaný nezabezpečený (preferredUnSecured) (výchozí): Pokud server nabízí možnost volby, ovladač nepoužívá SSL.
- Upřednostňované zabezpečené (preferredSecured): Pokud server nabízí možnost volby, ovladač použije SSL.
- Pouze zabezpečené (pouze zabezpečené): Ovladač se nepřipojí, pokud není k dispozici připojení SSL.
Ne
CaCertFile Úplná cesta k certifikátu SSL, který používá server. Příklad: CaCertFile=<cert path>; Ano, pokud je povolený protokol SSL.

Příklad

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

Příklad: uložení hesla v 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"
        }
    }
}

Vlastnosti datové sady

Tato část obsahuje seznam vlastností, které datová sada Netezza podporuje.

Úplný seznam oddílů a vlastností, které jsou k dispozici pro definování datových sad, najdete v tématu Datové sady.

Pokud chcete kopírovat data z Netezza, nastavte vlastnost type datové sady na NetezzaTable. Podporují se následující vlastnosti:

Vlastnost Popis Povinné
typ Vlastnost type datové sady musí být nastavená na: NetezzaTable. Yes
schema Název schématu Ne (pokud je zadaný dotaz ve zdroji aktivity)
tabulka Název tabulky Ne (pokud je zadaný dotaz ve zdroji aktivity)
tableName Název tabulky se schématem Tato vlastnost je podporována z důvodu zpětné kompatibility. Pro nové úlohy použijte schema a table . Ne (pokud je ve zdroji aktivity zadaný dotaz)

Příklad

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

Vlastnosti aktivity kopírování

Tato část obsahuje seznam vlastností, které zdroj Netezza podporuje.

Úplný seznam oddílů a vlastností, které jsou k dispozici pro definování aktivit, najdete v tématu Kanály.

Netezza jako zdroj

Tip

Pokud chcete efektivně načítat data z netezza pomocí dělení dat, přečtěte si další informace v části Paralelní kopírování z netezza .

Pokud chcete kopírovat data z netezza, nastavte typ zdroje v aktivitě kopírování na NetezzaSource. V části Zdroj aktivity kopírování jsou podporovány následující vlastnosti:

Vlastnost Popis Povinné
typ Vlastnost type zdroje aktivity kopírování musí být nastavená na Hodnotu NetezzaSource. Yes
query Ke čtení dat použijte vlastní dotaz SQL. Příklad: "SELECT * FROM MyTable" Ne (pokud je v datové sadě zadaný název tabulky)
partitionOptions Určuje možnosti dělení dat, které se používají k načtení dat z netezza.
Povolené hodnoty jsou: None (výchozí), DataSlice a DynamicRange.
Pokud je povolená možnost oddílu (tj. ne None), stupeň paralelismu pro souběžné načítání dat z databáze Netezza se řídí parallelCopies nastavením aktivity kopírování.
Ne
partitionSettings Zadejte skupinu nastavení pro dělení dat.
Použijte, když možnost oddílu není None.
Ne
partitionColumnName Zadejte název zdrojového sloupce v celočíselném typu , který bude použit dělením rozsahu pro paralelní kopírování. Pokud není zadaný, primární klíč tabulky se automaticky rozdetekuje a použije se jako sloupec oddílu.
Použijte, pokud je DynamicRangemožnost oddílu . Pokud k načtení zdrojových dat použijete dotaz, připojte klauzuli ?AdfRangePartitionColumnName WHERE. Příklad najdete v části Paralelní kopírování z netezza .
Ne
partitionUpperBound Maximální hodnota sloupce oddílu pro kopírování dat.
Použít, pokud je možnost oddílu .DynamicRange Pokud k načtení zdrojových dat použijete dotaz, připojte ?AdfRangePartitionUpbound klauzuli WHERE. Příklad najdete v části Paralelní kopie z netezza .
Ne
partitionLowerBound Minimální hodnota sloupce oddílu pro kopírování dat.
Použijte, pokud je DynamicRangemožnost oddílu . Pokud k načtení zdrojových dat použijete dotaz, připojte klauzuli ?AdfRangePartitionLowbound WHERE. Příklad najdete v části Paralelní kopie z netezza .
Ne

Příklad:

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

Paralelní kopie z Netezza

Konektor Data Factory Netezza poskytuje integrované dělení dat pro paralelní kopírování dat z netezza. Možnosti dělení dat najdete v zdrojové tabulce aktivity kopírování.

Snímek obrazovky s možnostmi oddílu

Když povolíte dělené kopírování, služba spustí paralelní dotazy na zdroj Netezza, aby načetla data podle oddílů. Paralelní stupeň je řízen parallelCopies nastavením aktivity kopírování. Pokud například nastavíte parallelCopies hodnotu čtyři, služba současně vygeneruje a spustí čtyři dotazy na základě zadané možnosti oddílu a nastavení a každý dotaz načte část dat z databáze Netezza.

Doporučujeme povolit paralelní kopírování s dělením dat, zejména v případě, že z databáze Netezza načítáte velké množství dat. Níže jsou uvedené doporučené konfigurace pro různé scénáře. Při kopírování dat do souborového úložiště dat se doporučuje zapisovat do složky jako více souborů (zadejte pouze název složky). V takovém případě je výkon lepší než zápis do jednoho souboru.

Scenario Navrhovaná nastavení
Úplné načtení z velké tabulky Možnost oddílu: Datový řez.

Během provádění služba automaticky rozdělí data na základě předdefinovaných datových řezů netezza a kopíruje data podle oddílů.
Načtěte velké množství dat pomocí vlastního dotazu. Možnost oddílu: Datový řez.
Dotaz: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.
Během provádění služba nahradí ?AdfPartitionCount (s paralelním číslem kopírování nastaveným pro aktivitu kopírování) a ?AdfDataSliceCondition logikou oddílu datového řezu a odešle ji do netezza.
Načtěte velké množství dat pomocí vlastního dotazu s celočíselným sloupcem s rovnoměrně distribuovanou hodnotou pro dělení oblastí. Možnosti oddílu: Oddíl dynamického rozsahu.
Dotaz: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Sloupec oddílu: Zadejte sloupec použitý k dělení dat. Můžete dělit podle sloupce s datovým typem celé číslo.
Horní mez oddílu a dolní mez oddílu: Určete, jestli chcete filtrovat podle sloupce oddílu, aby se načítala data pouze mezi dolní a horní oblastí.

Během provádění služba nahradí ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbounda ?AdfRangePartitionLowbound skutečnými názvy sloupců a rozsahy hodnot pro každý oddíl a odešle zprávu do netezza.
Pokud je například ve sloupci oddílu "ID" nastavená dolní mez jako 1 a horní jako 80, s paralelním kopírováním nastaveným na hodnotu 4, služba načte data po 4 oddílech. Jejich ID jsou mezi [1,20], [21, 40], [41, 60] a [61, 80] v uvedeném pořadí.

Příklad: Dotaz s oddílem datového řezu

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

Příklad: Dotaz s oddílem dynamického rozsahu

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

Vlastnosti aktivity vyhledávání

Podrobnosti o vlastnostech najdete v tématu Aktivita vyhledávání.

Další kroky

Seznam úložišť dat, která aktivita kopírování podporuje jako zdroje a jímky, najdete v tématu Podporovaná úložiště a formáty dat.