Kopiowanie danych z platformy Netezza przy użyciu usługi Azure Data Factory lub Synapse Analytics
DOTYCZY: Azure Data Factory Azure Synapse Analytics
Napiwek
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.
Napiwek
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.
Obsługiwane możliwości
Ten łącznik Netezza jest obsługiwany w następujących możliwościach:
Obsługiwane możliwości | IR |
---|---|
działanie Kopiuj (źródło/-) | (1) (2) |
Działanie Lookup | (1) (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:
- Równoległe kopiowanie ze źródła. Aby uzyskać szczegółowe informacje, zobacz sekcję Parallel copy from Netezza (Kopiowanie równoległe z platformy Netezza ).
- Netezza Performance Server w wersji 11.
- Wersje systemu Windows w tym artykule.
Usługa udostępnia wbudowany sterownik umożliwiający łączność. Nie musisz ręcznie instalować żadnego sterownika, aby korzystać z tego łącznika.
Wymagania wstępne
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ć.
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.
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.
Rozpocznij
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.
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:
Wyszukaj pozycję Netezza i wybierz łącznik Netezza.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
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
Następujące właściwości są obsługiwane w przypadku połączonej usługi Netezza:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na Netezza. | Tak |
Parametry połączenia | 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. |
Tak |
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. | Nie. |
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ć:
Właściwości | Opis | Wymagania |
---|---|---|
Poziom zabezpieczeń | 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. |
Nie. |
Uwaga
Łącznik nie obsługuje protokołu SSLv3, ponieważ jest oficjalnie przestarzały przez Netezza.
Przykład
{
"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:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type zestawu danych musi być ustawiona na: NetezzaTable | Tak |
schema | Nazwa schematu. | Nie (jeśli określono "zapytanie" w źródle działania) |
table | 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) |
Przykład
{
"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
Napiwek
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:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type źródła działania kopiowania musi być ustawiona na NetezzaSource. | Tak |
zapytanie | 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. |
Nie. |
partitionSettings | Określ grupę ustawień partycjonowania danych. Zastosuj, gdy opcja partycji nie None jest . |
Nie. |
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 . |
Nie. |
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 . |
Nie. |
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 . |
Nie. |
Przykład:
"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.
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.
Scenariusz | 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 ?AdfRangePartitionColumnName wartości , ?AdfRangePartitionUpbound i ?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>"
}
}
Właściwości działania wyszukiwania
Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.
Powiązana zawartość
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.