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.

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/-) ① ②
Działanie Lookup ① ②

(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 szczególności ten łącznik Amazon Redshift obsługuje pobieranie danych z redshift przy użyciu zapytania lub wbudowanej obsługi redshift UNLOAD.

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.

    Select the Amazon Redshift connector.

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

    Configure a linked service to Amazon Redshift.

szczegóły konfiguracji Połączenie or

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
type Właściwość type musi być ustawiona na: AmazonRedshift Tak
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
database 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 Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. 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:

{
    "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
type Właściwość type zestawu danych musi być ustawiona na: AmazonRedshiftTable 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": "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
type 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)
redshiftUnload Ustawienia Grupa właściwości podczas korzystania z usługi Amazon Redshift UNLOAD. Nie.
s3LinkedServiceName 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 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 "redshiftUnload Ustawienia", a następnie skopiuj dane z usługi Amazon S3 do obiektu blob platformy Azure, jak określono w sekcji "przejściowe Ustawienia", a ostatnio użyj technologii PolyBase do załadowania danych 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

"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ą używane z typów danych Amazon Redshift do tymczasowych typów danych używanych wewnętrznie w usłudze. Zobacz Mapowania schematu i typu danych, aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na ujście.

Typ danych Amazon Redshift Typ danych usługi tymczasowej
BIGINT Int64
BOOLEAN String
CHAR String
DATE DateTime
DZIESIĘTNYCH Dziesiętne
PODWÓJNA PRECYZJA Liczba rzeczywista
LICZBA CAŁKOWITA Int32
PRAWDZIWE Pojedynczy
SMALLINT Int16
TEKST String
TIMESTAMP DateTime
VARCHAR String

Właściwości działania wyszukiwania

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

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