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/-) | (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 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.
Łą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
- Jeśli kopiujesz dane do lokalnego magazynu danych przy użyciu własnego środowiska Integration Runtime, przyznaj środowisku Integration Runtime (użyj adresu IP maszyny) dostęp do klastra Amazon Redshift. Aby uzyskać instrukcje, zobacz Autoryzowanie dostępu do klastra .
- Jeśli kopiujesz dane do magazynu danych platformy Azure, zobacz Zakresy adresów IP centrum danych Azure dotyczące adresów IP obliczeń i zakresów SQL używanych przez centra danych platformy Azure.
Wprowadzenie
Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
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.
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ę Amazon i wybierz łącznik Amazon Redshift.
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 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) |
redshiftUnloadSettings | 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 "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.
"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 |
BOOLOWSKI | String |
CHAR | String |
DATE | DateTime |
DZIESIĘTNY | Dziesiętne |
PODWÓJNA PRECYZJA | Liczba rzeczywista |
LICZBA CAŁKOWITA | Int32 |
PRAWDZIWY | 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.
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.