Freigeben über


Kopieren von Daten aus Amazon Redshift mithilfe von Azure Data Factory oder Synapse Analytics

Gilt für: Azure Data Factory Azure Synapse Analytics

Tipp

Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.

In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in Azure Data Factory- und Synapse Analytics-Pipelines verwenden, um Daten aus einem Amazon Redshift zu kopieren. Er baut auf dem Artikel zur Übersicht über die Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.

Von Bedeutung

Der Amazon Redshift Connector Version 2.0 bietet verbesserte native Amazon Redshift-Unterstützung. Wenn Sie Amazon Redshift Connector Version 1.0 in Ihrer Lösung verwenden, aktualisieren Sie bitte den Amazon Redshift Connector, da Version 1.0 am Ende des Supports angelangt ist. Ihre Pipeline schlägt nach dem 30. April 2026 fehl. Ausführliche Informationen zu den Unterschieden zwischen Version 2.0 und Version 1.0 finden Sie in diesem Abschnitt.

Unterstützte Funktionen

Dieser Amazon Redshift Connector wird für die folgenden Funktionen unterstützt:

Unterstützte Funktionen IR
Aktivität kopieren (Quelle/-) (1) (2)
Lookup-Aktivität (1) (2)

(1) Azure Integrationslaufzeit (2) Selbst gehostete Integrationslaufzeit

Eine Liste der Datenspeicher, die als Quellen oder Senken für die Kopieraktivität unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.

Der Dienst stellt einen integrierten Treiber zum Aktivieren der Konnektivität bereit, daher müssen Sie keinen Treiber manuell installieren.

Der Amazon Redshift-Connector unterstützt das Abrufen von Daten aus Redshift mithilfe der Abfrage oder der integrierten Redshift UNLOAD-Unterstützung.

Der Connector unterstützt die Windows Versionen in diesem article.

Tipp

Um die optimale Leistung beim Kopieren großer Datenmengen aus Redshift zu erzielen, empfiehlt sich die Verwendung des integrierten Redshift-Befehls UNLOAD durch Amazon S3. Ausführliche Informationen finden Sie im Abschnitt Verwenden von UNLOAD zum Kopieren von Daten aus Amazon Redshift.

Voraussetzungen

Wenn Sie Daten mithilfe von Self gehosteten Integration Runtime in einen lokalen Datenspeicher kopieren, gewähren Sie Integration Runtime (IP-Adresse des Computers verwenden) den Zugriff auf den Amazon Redshift-Cluster. Anweisungen finden Sie unter Authorize access to the cluster (Autorisieren des Zugriffs auf den Cluster). Für Version 2.0 sollte Ihre selbst gehostete Integrationslaufzeitversion 5.61 oder höher sein.

Wenn Sie Daten in einen Azure-Datenspeicher kopieren, finden Sie Informationen zu den Compute-IP-Adressen und SQL-Bereichen, die von den Azure-Rechenzentren genutzt werden, unter Azure Data Center IP Ranges.

Wenn Ihr Datenspeicher ein verwalteter Clouddatendienst ist, können Sie die Azure Integration Runtime verwenden. Wenn der Zugriff auf IPs beschränkt ist, die in den Firewallregeln genehmigt wurden, können Sie der Zulassungsliste Azure Integration Runtime-IPs hinzufügen.

Sie können auch das Feature managed virtual network integration runtime in Azure Data Factory verwenden, um auf das lokale Netzwerk zuzugreifen, ohne eine selbst gehostete Integrationslaufzeit zu installieren und zu konfigurieren.

Erste Schritte

Zum Ausführen der Kopieraktivität mit einer Pipeline können Sie eines der folgenden Tools oder SDKs verwenden:

Erstellen eines verknüpften Diensts zu Amazon Redshift über die Benutzeroberfläche

Führen Sie die folgenden Schritte aus, um einen verknüpften Dienst mit Amazon Redshift in der benutzeroberfläche des Azure Portals zu erstellen.

  1. Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte "Verwalten", und wählen Sie "Verknüpfte Dienste" aus, und klicken Sie dann auf "Neu":

  2. Suchen Sie nach Amazon, und wählen Sie den Amazon Redshift-Connector aus.

    Wählen Sie den Amazon Redshift-Connector aus.

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Konfigurieren Sie einen verknüpften Dienst für Amazon Redshift.

Details zur Connectorkonfiguration

Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zum Definieren von Data Factory-Entitäten verwendet werden, die für den Amazon Redshift-Connector spezifisch sind.

Eigenschaften des verknüpften Diensts

Folgende Eigenschaften werden für den mit Amazon Redshift verknüpften Dienst unterstützt:

Eigenschaft Beschreibung Erforderlich
Typ Die type-Eigenschaft muss auf AmazonRedshiftfestgelegt sein. Ja
version Die von Ihnen angegebene Version. Ja für Version 2.0.
server IP-Adresse oder Hostname des Amazon Redshift-Servers. Ja
Hafen Die Nummer des TCP-Ports, den der Amazon Redshift-Server verwendet, um auf Clientverbindungen zu lauschen. Nein, Standard = 5439
Datenbank Der Name der Amazon Redshift-Datenbank. Ja
Benutzername Der Name des Benutzers, der Zugriff auf die Datenbank hat. Ja
Kennwort Kennwort für das Benutzerkonto. Markieren Sie dieses Feld als SecureString, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Ja
Sslmode Der SSL-Zertifikatüberprüfungsmodus, der beim Herstellen einer Verbindung mit Amazon Redshift verwendet werden soll. Diese Eigenschaft wird nur in Version 2.0 unterstützt.
- Verify_full: Stellen Sie nur eine Verbindung mit SSL, einer vertrauenswürdigen Zertifizierungsstelle und einem Servernamen her, der dem Zertifikat entspricht.
- Verify_ca: Verbinden Sie sich nur mit SSL und einer vertrauenswürdigen Zertifizierungsstelle.
- Erforderlich: Verbinden Sie sich nur mit SSL.
- Bevorzugt: Stellen Sie eine Verbindung mit SSL her, falls verfügbar. Stellen Sie andernfalls eine Verbindung ohne SSL her.
- Zulässig: Stellen Sie standardmäßig eine Verbindung ohne SSL her. Wenn der Server SSL-Verbindungen erfordert, verwenden Sie SSL.
- Deaktiviert: Herstellen einer Verbindung ohne SSL.
Optionen: verify-full (Standard) / verify-ca / require / prefer / allow / disable
Nein, Standard ist verify-full
connectVia Die Integration Runtime wird verwendet, um eine Verbindung mit dem Datenspeicher herzustellen. Sie können Azure Integration Runtime oder selbst gehostete Integration Runtime verwenden (wenn sich Ihr Datenspeicher im privaten Netzwerk befindet). Wenn nicht angegeben, wird die Standard-Azure Integration Runtime verwendet. Nein

Hinweis

Version 2.0 unterstützt Azure Integration Runtime und selbst gehostete Integration Runtime Version 5.61 oder höher. Die Treiberinstallation ist mit selbst gehosteten Integration Runtime Version 5.61 oder höher nicht mehr erforderlich.

Beispiel: Version 2.0

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

Beispiel: Version 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"
        }
    }
}

Dataset-Eigenschaften

Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Amazon Redshift-Dataset unterstützt werden.

Zum Kopieren von Daten aus Amazon Redshift werden die folgenden Eigenschaften unterstützt:

Eigenschaft Beschreibung Erforderlich
Typ Die Typeigenschaft (type) des Datasets muss auf Folgendes festgelegt werden: AmazonRedshiftTable Ja
schema Name des Schemas. Nein (wenn „query“ in der Aktivitätsquelle angegeben ist)
Tisch Der Name der Tabelle. Nein (wenn „query“ in der Aktivitätsquelle angegeben ist)
Tabellenname Name der Tabelle mit Schema. Diese Eigenschaft wird aus Gründen der Abwärtskompatibilität weiterhin unterstützt. Verwenden Sie schema und table für eine neue Workload. Nein (wenn „query“ in der Aktivitätsquelle angegeben ist)

Beispiel

{
    "name": "AmazonRedshiftDataset",
    "properties":
    {
        "type": "AmazonRedshiftTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Amazon Redshift linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Wenn Sie das Datenset vom Typ RelationalTable verwenden, wird es weiterhin unverändert unterstützt. Es wird jedoch empfohlen, zukünftig die neue Version zu verwenden.

Eigenschaften der Kopieraktivität

Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der Amazon Redshift-Quelle unterstützt werden.

Amazon Redshift als Quelle

Legen Sie zum Kopieren von Daten aus Amazon Redshift den Quelltyp in der Kopieraktivität auf AmazonRedshiftSource fest. Folgende Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt:

Eigenschaft Beschreibung Erforderlich
Typ Die type-Eigenschaft der Quelle der Kopieraktivität muss auf AmazonRedshiftSource festgelegt werden. Ja
query Verwendet die benutzerdefinierte Abfrage zum Lesen von Daten. Beispiel: select * from MyTable. Nein (wenn „tableName“ im Dataset angegeben ist)
redshiftUnloadSettings Eigenschaftengruppe bei Verwendung von Amazon Redshift UNLOAD. Nein
s3LinkedServiceName Bezieht sich auf eine Amazon S3-Instanz, die als Zwischenspeicher verwendet wird, indem der Name eines verknüpften Diensts des Typs „AmazonS3“ angegeben wird. Ja, wenn UNLOAD verwendet wird
bucketName Gibt den S3-Bucket zum Speichern der vorläufigen Daten an. Ohne Angabe wird es vom Dienst automatisch generiert. Ja, wenn UNLOAD verwendet wird

Beispiel: Amazon Redshift-Quelle in der Kopieraktivität mit UNLOAD

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

Erfahren Sie mehr darüber, wie Sie mithilfe von UNLOAD effizient Daten aus einem Amazon Redshift aus dem nächsten Abschnitt kopieren.

Verwenden von UNLOAD zum Kopieren von Daten aus Amazon Redshift

UNLOAD ist ein von Amazon Redshift bereitgestellter Mechanismus, mit dem die Ergebnisse einer Abfrage in eine oder mehrere Dateien in Amazon Simple Storage Service (Amazon S3) entladen werden können. Dieser Mechanismus wird von Amazon zum Kopieren großer DataSets aus Redshift empfohlen.

Example: Kopieren von Daten aus Amazon Redshift in Azure Synapse Analytics mithilfe von UNLOAD, mehrstufiger Kopie und PolyBase

In diesem Beispiel für einen Anwendungsfall werden bei der Kopieraktivität Daten entsprechend der Konfiguration in „redshiftUnloadSettings“ aus Amazon Redshift in Amazon S3 entladen, dann entsprechend der Angabe in „stagingSettings“ Daten aus Amazon S3 in Azure Blob kopiert und schließlich Daten mithilfe von PolyBase in Azure Synapse Analytics geladen. Die gesamte vorläufige Formatierung wird von der Kopieraktivität ordnungsgemäß verarbeitet.

Redshift zu Azure Synapse Analytics-Workflow zum Kopieren

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

Datentypzuordnung für Amazon Redshift

Wenn Sie Daten aus Amazon Redshift kopieren, gelten die folgenden Zuordnungen aus den Datentypen von Amazon Redshift auf die internen Datentypen, die vom Dienst verwendet werden. Informationen dazu, wie die Kopieraktivität das Quellschema und den Datentyp der Spüle zuordnet, finden Sie unter Schema- und Datentypzuordnungen.

Amazon Redshift-Datentyp Zwischendienstdatentyp (für Version 2.0) Zwischendienstdatentyp (für Version 1.0)
bigint Int64 Int64
BOOLEAN Boolean Schnur
CHAR Schnur Schnur
Datum Datetime Datetime
DEZIMAL (Genauigkeit <= 28) Dezimalzahl Dezimalzahl
DEZIMAL (Genauigkeit > 28) Schnur Schnur
DOPPELTE GENAUIGKEIT Double Double
INTEGER Int32 Int32
real Ledig Ledig
SMALLINT Int16 Int16
TEXT Schnur Schnur
timestamp Datetime Datetime
VARCHAR Schnur Schnur

Eigenschaften der Lookupaktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.

Lebenszyklus und Upgrade des Amazon Redshift-Connectors

Die folgende Tabelle zeigt die Veröffentlichungsphase und Änderungsprotokolle für verschiedene Versionen des Amazon Redshift-Connectors:

Version Freigabestufe Änderungsprotokoll
Version 1.0 Ankündigung zum Ende des Supports /
Version 2.0 GA-Version verfügbar • Unterstützt Azure Integration Runtime und selbst gehostete Integration Runtime Version 5.61 oder höher. Die Treiberinstallation ist mit selbst gehosteten Integration Runtime Version 5.61 oder höher nicht mehr erforderlich.

• BOOLEAN wird als boolescher Datentyp gelesen.

• Unterstützung sslmode im verknüpften Dienst.

Aktualisieren des Amazon Redshift-Connectors von Version 1.0 auf Version 2.0

  1. Wählen Sie auf der Seite "Verknüpften Dienst bearbeiten" Version 2.0 aus, und konfigurieren Sie den verknüpften Dienst, indem Sie auf verknüpfte Diensteigenschaften verweisen.

  2. Die Datentypzuordnung für die verknüpfte Amazon Redshift-Dienstversion 2.0 unterscheidet sich von der für die Version 1.0. Informationen zur neuesten Datentypzuordnung finden Sie unter "Datentypzuordnung" für Amazon Redshift.

  3. Wenden Sie eine selbst gehostete Integrationslaufzeit mit Version 5.61 oder höher an. Die Treiberinstallation ist mit selbst gehosteten Integration Runtime Version 5.61 oder höher nicht mehr erforderlich.

Eine Liste der Datenspeicher, die als Quellen und Senken für die Copy-Aktivität unterstützt werden, finden Sie in der Dokumentation zu unterstützten Datenspeichern.