Udostępnij za pośrednictwem


Kopiowanie danych z usługi Amazon Redshift 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 i usługi Synapse Analytics do kopiowania danych z usługi Amazon Redshift. Jest on oparty na artykule omówienie działania kopiowania, który przedstawia ogólne omówienie działania kopiowania.

Ważne

Amazon Redshift w wersji 2.0 (wersja poglądowa) zapewnia ulepszoną natywną obsługę Amazon Redshift. Jeśli używasz rozwiązania Amazon Redshift w wersji 1.0, zalecamy uaktualnienie łącznika Amazon Redshift w najbliższym dogodnym terminie. Zapoznaj się z tą sekcją , aby uzyskać szczegółowe informacje na temat różnic między wersją 2.0 (wersja zapoznawcza) i wersją 1.0.

Obsługiwane możliwości

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

Obsługiwane możliwości IR
działanie Kopiuj (źródło/-) (1) (tylko w wersji 1.0) (2)
Działanie Lookup (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 jako źródła lub ujścia przez działanie kopiowania, zobacz tabelę Obsługiwane magazyny danych.

W wersji 2.0 (wersja zapoznawcza) należy ręcznie zainstalować sterownik Amazon Redshift ODBC . W wersji 1.0 usługa udostępnia wbudowany sterownik umożliwiający łączność, dlatego nie trzeba ręcznie instalować żadnego sterownika.

Łącznik Amazon Redshift obsługuje pobieranie danych z Redshift przy użyciu zapytania lub wbudowanej obsługi funkcji UNLOAD Redshift.

Łącznik obsługuje wersje systemu Windows w tym artykule.

Napiwek

Aby uzyskać najlepszą wydajność podczas kopiowania dużych ilości danych z usługi Redshift, rozważ użycie wbudowanej funkcji Redshift UNLOAD za pośrednictwem usługi Amazon S3. Aby uzyskać szczegółowe informacje, zobacz Kopiowanie danych z sekcji Amazon Redshift za pomocą funkcji UNLOAD.

Wymagania wstępne

Wprowadzenie

Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi z usługą Amazon Redshift przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Amazon Redshift 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ę Amazon i wybierz łącznik Amazon Redshift.

    Wybierz łącznik Amazon Redshift.

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

    Skonfiguruj połączoną usługę z usługą Amazon Redshift.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek usługi Data Factory specyficznych dla łącznika Amazon Redshift.

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

Następujące właściwości są obsługiwane w przypadku połączonej usługi Amazon Redshift:

Właściwości Opis Wymagania
rodzaj Właściwość type musi być ustawiona na: AmazonRedshift Tak
wersja Wersja, którą określisz. Tak dla wersji 2.0 (wersja zapoznawcza).
serwer Adres IP lub nazwa hosta serwera Amazon Redshift. Tak
port Liczba portów TCP używanych przez serwer Amazon Redshift do nasłuchiwania połączeń klienckich. Nie, wartość domyślna to 5439
baza danych Nazwa bazy danych Amazon Redshift. Tak
nazwa użytkownika Nazwa użytkownika, który ma dostęp do bazy danych. Tak
hasło Hasło do konta użytkownika. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Tak
connectVia (połącz się) Środowisko Integration Runtime do nawiązania połączenia z magazynem danych.
Jeśli wybierzesz wersję 2.0 (wersja zapoznawcza), możesz użyć tylko własnego środowiska Integration Runtime, a jego wersja powinna mieć wartość 5.54.0.0 lub nowszą.
Jeśli wybierzesz wersję 1.0, możesz użyć środowiska Azure Integration Runtime lub własnego środowiska Integration Runtime (jeśli magazyn danych znajduje się w sieci prywatnej). Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime.
Nie.

Przykład: wersja 2.0 (wersja zapoznawcza)

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "version": "2.0",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Przykład: wersja 1.0

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Właściwości zestawu danych

Pełna lista sekcji i właściwości dostępnych do definiowania zestawów danych znajduje się w artykule dotyczącym zestawów danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych Amazon Redshift.

Aby skopiować dane z usługi Amazon Redshift, obsługiwane są następujące właściwości:

Właściwości Opis Wymagania
rodzaj Właściwość type zestawu danych musi być ustawiona na: AmazonRedshiftTable Tak
schemat Nazwa schematu. Nie (jeśli określono "zapytanie" w źródle działania)
stół Nazwa tabeli. Nie (jeśli określono "zapytanie" w źródle działania)
nazwaTabeli 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": "AmazonRedshiftDataset",
    "properties":
    {
        "type": "AmazonRedshiftTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Amazon Redshift linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Jeśli używasz RelationalTable wpisanego zestawu danych, nadal jest on obsługiwany w stanie rzeczywistym, podczas gdy zaleca się korzystanie z nowego zestawu danych w przyszłości.

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło Amazon Redshift.

Amazon Redshift jako źródło

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

Właściwości Opis Wymagania
rodzaj Właściwość type źródła działania kopiowania musi być ustawiona na: AmazonRedshiftSource Tak
zapytanie Użyj zapytania niestandardowego, aby odczytać dane. Na przykład: wybierz pozycję * z tabeli MyTable. Nie (jeśli określono "tableName" w zestawie danych)
redshiftUnloadSettings (Ustawienia przesunięcia) Grupa właściwości podczas korzystania z usługi Amazon Redshift UNLOAD. Nie.
s3LinkedServiceName (nazwa_usługi połączonej) Odnosi się do usługi Amazon S3, która jest używana jako magazyn tymczasowy, określając połączoną nazwę usługi typu "AmazonS3". Tak, jeśli używasz funkcji UNLOAD
bucketName (nazwa zasobnika) Wskaż zasobnik S3 do przechowywania danych tymczasowych. Jeśli nie zostanie podana, usługa automatycznie ją wygeneruje. Tak, jeśli używasz funkcji UNLOAD

Przykład: Źródło Amazon Redshift w działaniu kopiowania przy użyciu funkcji UNLOAD

"source": {
    "type": "AmazonRedshiftSource",
    "query": "<SQL query>",
    "redshiftUnloadSettings": {
        "s3LinkedServiceName": {
            "referenceName": "<Amazon S3 linked service>",
            "type": "LinkedServiceReference"
        },
        "bucketName": "bucketForUnload"
    }
}

Dowiedz się więcej na temat efektywnego kopiowania danych z usługi Amazon Redshift przy użyciu funkcji UNLOAD.

Kopiowanie danych z usługi Amazon Redshift za pomocą funkcji UNLOAD

UNLOAD to mechanizm dostarczany przez firmę Amazon Redshift, który może zwolnić wyniki zapytania do co najmniej jednego pliku w usłudze Amazon Simple Storage Service (Amazon S3). Jest to sposób zalecany przez firmę Amazon do kopiowania dużych zestawów danych z redshift.

Przykład: kopiowanie danych z usługi Amazon Redshift do usługi Azure Synapse Analytics przy użyciu funkcji UNLOAD, kopiowania etapowego i technologii PolyBase

W tym przykładowym przypadku użycia działanie kopiowania zwalnia dane z usługi Amazon Redshift do usługi Amazon S3 zgodnie z konfiguracją w obszarze "redshiftUnloadSettings", a następnie skopiuj dane z usługi Amazon S3 do usługi Azure Blob zgodnie z instrukcjami "stagingSettings", a ostatnio użyj technologii PolyBase, aby załadować dane do usługi Azure Synapse Analytics. Cały format tymczasowy jest obsługiwany prawidłowo przez działanie kopiowania.

Redshift to Azure Synapse Analytics copy workflow (Redshift to Azure Synapse Analytics copy workflow)

"activities":[
    {
        "name": "CopyFromAmazonRedshiftToSQLDW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "AmazonRedshiftDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRedshiftSource",
                "query": "select * from MyTable",
                "redshiftUnloadSettings": {
                    "s3LinkedServiceName": {
                        "referenceName": "AmazonS3LinkedService",
                        "type": "LinkedServiceReference"
                    },
                    "bucketName": "bucketForUnload"
                }
            },
            "sink": {
                "type": "SqlDWSink",
                "allowPolyBase": true
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": "AzureStorageLinkedService",
                "path": "adfstagingcopydata"
            },
            "dataIntegrationUnits": 32
        }
    }
]

Mapowanie typów danych dla usługi Amazon Redshift

Podczas kopiowania danych z usługi Amazon Redshift następujące mapowania są stosowane z typów danych firmy Amazon Redshift 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 Amazon Redshift Typ danych usługi tymczasowej (wersja 2.0 (wersja zapoznawcza)) Typ danych usługi tymczasowej (wersja 1.0)
BIGINT Int64 Int64
BOOLOWSKI Boolowski Sznurek
CHAR Sznurek Sznurek
DATA Data i Czas Data i Czas
DECIMAL (Precyzja <= 28) Dziesiętne Dziesiętne
DECIMAL (Precyzja > 28) Sznurek Sznurek
PODWÓJNA PRECYZJA Liczba rzeczywista Liczba rzeczywista
LICZBA CAŁKOWITA Int32 Int32
PRAWDZIWY Pojedynczy Pojedynczy
SMALLINT Int16 Int16
TEKST Sznurek Sznurek
ZNACZNIK CZASU Data i Czas Data i Czas
VARCHAR Sznurek Sznurek

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 Amazon Redshift

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

wersja Etap wydania Dziennik zmian
Wersja 1.0 Wersja GA dostępna /
Wersja 2.0 (wersja zapoznawcza) Dostępna wersja zapoznawcza • Obsługuje tylko własne środowisko Integration Runtime w wersji 5.54.0.0 lub nowszej.

• BOOLEAN jest odczytywany jako typ danych Boolean.

Uaktualnij łącznik Amazon Redshift z wersji 1.0 do wersji 2.0 (wersja zapoznawcza)

  1. Na stronie Edytowanie połączonej usługi wybierz wersję 2.0 (wersja zapoznawcza) i skonfiguruj połączoną usługę, odwołując się do połączonych właściwości usługi.

  2. Mapowanie typu danych dla połączonej usługi Amazon Redshift w wersji 2.0 (wersja zapoznawcza) 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 usługi Amazon Redshift.

  3. Zastosuj samodzielnie hostowane środowisko Integration Runtime w wersji 5.54.0.0 lub nowszej. Środowisko Azure Integration Runtime nie jest obsługiwane przez wersję 2.0 (wersja zapoznawcza).

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