Udostępnij przez


Kopiowanie danych z platformy Netezza przy użyciu usługi Azure Data Factory lub Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Tip

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory lub Synapse Analytics do kopiowania danych z platformy Netezza. Artykuł opiera się na działaniu kopiowania, które przedstawia ogólne omówienie działania kopiowania.

Tip

W przypadku scenariusza migracji danych z platformy Netezza na platformę Azure dowiedz się więcej na temat migrowania danych z lokalnego serwera Netezza na platformę Azure.

Important

Łącznik Netezza w wersji 1.0 jest na etapie usuwania. Zaleca się uaktualnienie łącznika Netezza z wersji 1.0 do 2.0.

Obsługiwane możliwości

Ten łącznik Netezza jest obsługiwany w następujących możliwościach:

Obsługiwane możliwości środowisko IR
działanie Kopiuj (źródło/-) (1) (tylko w wersji 1.0) (2)
Aktywność wyszukiwania (1) (tylko w wersji 1.0) (2)

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych przez działanie kopiowania jako źródła i ujścia, zobacz Obsługiwane magazyny danych i formaty.

Ten łącznik Netezza obsługuje:

Usługa udostępnia wbudowany sterownik umożliwiający łączność. Nie musisz ręcznie instalować żadnego sterownika, aby korzystać z tego łącznika.

W wersji 2.0 należy ręcznie zainstalować sterownik IBM Netezza ODBC . W wersji 1.0 usługa udostępnia wbudowany sterownik umożliwiający łączność. Nie musisz ręcznie instalować żadnego sterownika, aby korzystać z tego łącznika.

Prerequisites

Jeśli magazyn danych znajduje się wewnątrz sieci lokalnej, sieci wirtualnej platformy Azure lub chmury prywatnej Amazon Virtual, musisz skonfigurować własne środowisko Integration Runtime , aby się z nim połączyć.

Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.

Dla wersji 1.0

Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć środowiska Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP środowiska Azure Integration Runtime do listy dozwolonych.

Możesz również użyć funkcji środowiska Integration Runtime zarządzanej sieci wirtualnej w usłudze Azure Data Factory, aby uzyskać dostęp do sieci lokalnej bez instalowania i konfigurowania własnego środowiska Integration Runtime.

Zainstaluj sterownik Netezza ODBC dla wersji 2.0

Aby użyć łącznika Netezza w wersji 2.0, zainstaluj sterownik IBM Netezza ODBC w wersji 11.02.02 lub nowszej na maszynie z uruchomionym własnym środowiskiem Integration Runtime.

Wprowadzenie

Potok, który używa działania kopiowania, można utworzyć przy użyciu zestawu SDK platformy .NET, zestawu SDK języka Python, programu Azure PowerShell, interfejsu API REST lub szablonu usługi Azure Resource Manager. Zapoznaj się z samouczkiem dotyczącym działania kopiowania, aby uzyskać instrukcje krok po kroku dotyczące tworzenia potoku z działaniem kopiowania.

Tworzenie połączonej usługi z platformą Netezza przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z platformą Netezza w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj pozycję Netezza i wybierz łącznik Netezza.

    Zrzut ekranu przedstawiający łącznik Netezza.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający połączoną konfigurację usługi dla netezza.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach, których można użyć do definiowania jednostek specyficznych dla łącznika Netezza.

Właściwości połączonej usługi

Łącznik Netezza obsługuje teraz wersję 2.0. Zapoznaj się z tą sekcją , aby uaktualnić wersję łącznika Netezza z wersji 1.0. Aby uzyskać informacje szczegółowe dotyczące nieruchomości, zobacz odpowiednie sekcje.

Wersja 2.0

Połączona usługa Netezza obsługuje następujące właściwości w przypadku zastosowania wersji 2.0:

Property Description Required
typ Właściwość type musi być ustawiona na Netezza. Yes
wersja Wersja, którą określisz. Wartość to 2.0. Yes
serwer Nazwa hosta lub adres IP serwera Netezza. Yes
port Numer portu odbiornika serwera. Yes
baza danych Nazwa bazy danych Netezza. Yes
uid Identyfikator użytkownika używany do nawiązywania połączenia z bazą danych. Yes
pwd Hasło używane do nawiązywania połączenia z bazą danych. Yes
SecurityLevel Poziom zabezpieczeń używany przez sterownik do połączenia z magazynem danych.
Przykład: SecurityLevel=preferredUnSecured. Obsługiwane wartości to:
- Tylko niezabezpieczone (tylkoUnSecured): sterownik nie używa protokołu SSL.
- Preferowane niezabezpieczone (preferredUnSecured) (wartość domyślna): jeśli serwer wybierze opcję, sterownik nie używa protokołu SSL.
No
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Możesz używać tylko własnego środowiska Integration Runtime. 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"
        }
    }
}

Wersja 1.0

Następujące właściwości są obsługiwane w przypadku połączonej usługi Netezza w przypadku zastosowania wersji 1.0:

Property Description Required
typ Właściwość type musi być ustawiona na Netezza. Yes
connectionString Parametry połączenia ODBC, aby nawiązać połączenie z platformą Netezza.
Możesz również umieścić hasło w usłudze Azure Key Vault i ściągnąć konfigurację pwd z parametry połączenia. Zapoznaj się z poniższymi przykładami i artykułem Store credentials in Azure Key Vault (Przechowywanie poświadczeń w usłudze Azure Key Vault ), aby uzyskać więcej szczegółów.
Yes
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie określony, zostanie użyte domyślne środowisko Azure Integration Runtime. No

Typowy parametry połączenia to Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>. W poniższej tabeli opisano więcej właściwości, które można ustawić:

Property Description Required
SecurityLevel Poziom zabezpieczeń używany przez sterownik do połączenia z magazynem danych.
Przykład: SecurityLevel=preferredUnSecured. Obsługiwane wartości to:
- Tylko niezabezpieczone (tylkoUnSecured): sterownik nie używa protokołu SSL.
- Preferowane niezabezpieczone (preferredUnSecured) (wartość domyślna): jeśli serwer wybierze opcję, sterownik nie używa protokołu SSL.
No

Note

Łącznik nie obsługuje protokołu SSLv3, ponieważ jest oficjalnie przestarzały przez 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"
        }
    }
}

Przykład: przechowywanie hasła w usłudze 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"
        }
    }
}

Właściwości zestawu danych

Ta sekcja zawiera listę właściwości, które obsługuje zestaw danych Netezza.

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz Zestawy danych.

Aby skopiować dane z netezza, ustaw właściwość type zestawu danych na NetezzaTable. Obsługiwane są następujące właściwości:

Property Description Required
typ Właściwość type zestawu danych musi być ustawiona na: NetezzaTable Yes
schemat Nazwa schematu. Nie (jeśli określono "zapytanie" w źródle działania)
tabela Nazwa tabeli. Nie (jeśli określono "zapytanie" w źródle działania)
tableName Nazwa tabeli ze schematem. Ta właściwość jest obsługiwana w celu zapewnienia zgodności z poprzednimi wersjami. Użyj polecenia schema i table dla nowego obciążenia. Nie (jeśli określono "zapytanie" w źródle działania)

Example

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

Właściwości działania kopiowania

Ta sekcja zawiera listę właściwości, które obsługuje źródło Netezza.

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz Pipelines (Potoki).

Netezza jako źródło

Tip

Aby wydajnie ładować dane z platformy Netezza przy użyciu partycjonowania danych, dowiedz się więcej z sekcji Kopiowanie równoległe z platformy Netezza .

Aby skopiować dane z netezza, ustaw typ źródła w działaniu kopiowania na NetezzaSource. Następujące właściwości są obsługiwane w sekcji Źródło działania kopiowania:

Property Description Required
typ Właściwość type źródła działania kopiowania musi być ustawiona na NetezzaSource. Yes
kwerenda Użyj niestandardowego zapytania SQL, aby odczytać dane. Przykład: "SELECT * FROM MyTable" Nie (jeśli określono "tableName" w zestawie danych)
partitionOptions Określa opcje partycjonowania danych używane do ładowania danych z Netezza.
Dozwolone wartości to: Brak (wartość domyślna), DataSlice i DynamicRange.
Jeśli opcja partycji jest włączona (czyli nie None), stopień równoległości równoczesnego ładowania danych z bazy danych Netezza jest kontrolowany przez parallelCopies ustawienie działania kopiowania.
No
partitionSettings Określ grupę ustawień partycjonowania danych.
Zastosuj, gdy opcja partycji nie Nonejest .
No
partitionColumnName Określ nazwę kolumny źródłowej w typie liczb całkowitych, które będą używane przez partycjonowanie zakresu na potrzeby kopiowania równoległego. Jeśli nie zostanie określony, klucz podstawowy tabeli jest automatycznie wykrywany i używany jako kolumna partycji.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, podłącz element w ?AdfRangePartitionColumnName klauzuli WHERE. Zobacz przykład w sekcji Kopiowanie równoległe z netezza .
No
partitionUpperBound Maksymalna wartość kolumny partycji do skopiowania danych.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionUpbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z netezza .
No
partitionLowerBound Minimalna wartość kolumny partycji do skopiowania danych.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionLowbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z 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>"
            }
        }
    }
]

Kopiowanie równoległe z Netezza

Łącznik Netezza usługi Data Factory zapewnia wbudowane partycjonowanie danych w celu równoległego kopiowania danych z platformy Netezza. Opcje partycjonowania danych można znaleźć w tabeli Źródłowe działania kopiowania.

Zrzut ekranu przedstawiający opcje partycji

Po włączeniu kopii partycjonowanej usługa uruchamia zapytania równoległe względem źródła Netezza w celu załadowania danych według partycji. Stopień równoległy jest kontrolowany przez parallelCopies ustawienie działania kopiowania. Jeśli na przykład ustawiono parallelCopies wartość cztery, usługa jednocześnie generuje i uruchamia cztery zapytania na podstawie określonej opcji partycji i ustawień, a każde zapytanie pobiera część danych z bazy danych Netezza.

Zaleca się włączenie kopiowania równoległego przy użyciu partycjonowania danych, szczególnie w przypadku ładowania dużej ilości danych z bazy danych Netezza. Poniżej przedstawiono sugerowane konfiguracje dla różnych scenariuszy. Podczas kopiowania danych do magazynu danych opartego na plikach zaleca się zapisywanie w folderze jako wielu plików (tylko określ nazwę folderu), w tym przypadku wydajność jest lepsza niż zapisywanie w jednym pliku.

Scenario Sugerowane ustawienia
Pełne ładowanie z dużej tabeli. Opcja partycji: Fragmentowanie danych.

Podczas wykonywania usługa automatycznie partycjonuje dane na podstawie wbudowanych wycinków danych Netezza i kopiuje dane według partycji.
Załaduj dużą ilość danych przy użyciu zapytania niestandardowego. Opcja partycji: Fragmentowanie danych.
Zapytanie: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.
Podczas wykonywania usługa zastępuje ?AdfPartitionCount (z równoległym numerem kopiowania ustawionym w działaniu kopiowania) i ?AdfDataSliceCondition logiką partycji fragmentowania danych i wysyła do Netezza.
Załaduj dużą ilość danych przy użyciu zapytania niestandardowego, zawierającą kolumnę całkowitą z równomiernie rozproszoną wartością partycjonowania zakresu. Opcje partycji: partycja zakresu dynamicznego.
Zapytanie: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Kolumna partycji: określ kolumnę używaną do partycjonowania danych. Kolumnę można podzielić na partycje przy użyciu typu danych całkowitych.
Górna granica partycji i dolna granica partycji: określ, czy chcesz filtrować względem kolumny partycji, aby pobrać dane tylko między dolnym i górnym zakresem.

Podczas wykonywania usługa zastępuje ?AdfRangePartitionColumnNamewartości , ?AdfRangePartitionUpboundi ?AdfRangePartitionLowbound rzeczywistymi nazwami kolumn i zakresami wartości dla każdej partycji oraz wysyła je do netezza.
Na przykład jeśli kolumna partycji "ID" ustawiona z dolną granicą jako 1 i górną granicą jako 80, z zestawem kopii równoległej jako 4, usługa pobiera dane według 4 partycji. Ich identyfikatory to odpowiednio [120], [21, 40], [41, 60] i [61, 80].

Przykład: zapytanie z partycją fragmentowania danych

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

Przykład: zapytanie z partycją zakresu dynamicznego

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

Mapowanie typów danych dla Netezza

Podczas kopiowania danych z Netezza stosowane są następujące mapowania z typów danych Netezza do wewnętrznych typów danych używanych przez usługę. Aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na docelowy, zobacz Mapowanie schematu i typu danych.

Typ danych Netezza Typ danych usługi tymczasowej (wersja 2.0) Typ danych usługi tymczasowej (wersja 1.0)
BOOLEAN logiczny logiczny
CHAR String String
VARCHAR String String
NCHAR String String
NVARCHAR String String
DATE Date DateTime
TIMESTAMP DateTime DateTime
TIME Time TimeSpan
INTERVAL Nie jest obsługiwany TimeSpan
CZAS Z UWZGLĘDNIENIEM STREFY CZASOWEJ String String
NUMERIC(p,s) Decimal Decimal
REAL Single Single
PODWÓJNA PRECYZJA Double Double
INTEGER Int32 Int32
BYTEINT Int16 SByte
SMALLINT Int16 Int16
BIGINT Int64 Int64

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Cykl życia i uaktualnianie łącznika Netezza

W poniższej tabeli przedstawiono etap wydania i dzienniki zmian dla różnych wersji łącznika Netezza:

Version Etap wydania Dziennik zmian
Wersja 1.0 Removed Nie dotyczy.
Wersja 2.0 Wersja GA dostępna • Obsługuje tylko lokalnie hostowane środowisko Integration Runtime.

• BYTEINT jest odczytywany jako typ danych Int16.

• DATE jest odczytywany jako typ danych Date.

• CZAS jest odczytywany jako Typ danych czasowych.

• INTERWAŁ nie jest obsługiwany.

Uaktualnianie łącznika Netezza z wersji 1.0 do wersji 2.0

  1. Na stronie Edytowanie połączonej usługi wybierz wersję 2.0. Aby uzyskać więcej informacji, zobacz właściwości połączonej usługi w wersji 2.0.
  2. Mapowanie typu danych dla połączonej usługi Netezza w wersji 2.0 różni się od tego dla wersji 1.0. Aby dowiedzieć się więcej na temat najnowszego mapowania typów danych, zobacz Mapowanie typów danych dla netezza.
  3. Wspiera tylko samodzielnie hostowane środowisko Integration Runtime. Środowisko Azure Integration Runtime nie jest obsługiwane przez wersję 2.0.

Aby uzyskać listę magazynów danych obsługiwanych przez działanie kopiowania jako źródła i ujścia, zobacz Obsługiwane magazyny danych i formaty.