Redshift-Batchquelle

Auf dieser Seite wird beschrieben, wie Sie Daten aus einer Amazon Redshift-Instanz mit Cloud Data Fusion inGoogle Cloud laden. Mit dem Redshift-Quellconnector können Sie Tabellen aus Ihrem Redshift-Dataset mit dem Ziel synchronisieren, z. B. BigQuery. Mit dem Connector können Sie auch eine konfigurierbare SQL-Abfrage erstellen.

Hinweis

  • Die Redshift-Quelle wird in Cloud Data Fusion-Versionen 6.9.0 und höher unterstützt.
  • Wenn Sie den Redshift-Quellconnector konfigurieren, können Sie eine vorhandene, wiederverwendbare Verbindung auswählen oder eine neue Einmalverbindung erstellen. Weitere Informationen finden Sie unter Verbindungen verwalten. Wenn Sie eine Verbindung wiederverwenden, beachten Sie Folgendes:

    • Sie müssen keine Anmeldedaten angeben.
    • Die vorhandene Verbindung enthält die Schema- und Tabellennameninformationen, die zum Generieren der Importabfrage verwendet werden.

Plug-in konfigurieren

  1. Rufen Sie die Cloud Data Fusion-Web-UI auf und klicken Sie auf Studio.

  2. Prüfen Sie, ob Datenpipeline – Batch (nicht Echtzeit) ausgewählt ist.

  3. Klicken Sie im Menü Quelle auf Redshift. Der Redshift-Knoten wird in Ihrer Pipeline angezeigt. Wenn die Redshift-Quelle auf der Seite Studio nicht angezeigt wird, stellen Sie den Redshift-Quellconnector über den Cloud Data Fusion Hub bereit.

  4. Wenn Sie die Quelle konfigurieren möchten, rufen Sie den Redshift-Knoten auf und klicken Sie auf Attribute.

  5. Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Properties.

    1. Geben Sie ein Label für den Redshift-Knoten ein, z. B. Redshift tables.
    2. Geben Sie die Verbindungsdetails ein. Sie können eine neue Einmalverbindung oder eine vorhandene, wiederverwendbare Verbindung einrichten.

      Neue Verbindung

      So fügen Sie eine einmalige Verbindung zu Redshift hinzu:

      1. Lassen Sie Verbindung verwenden deaktiviert.
      2. Geben Sie im Feld Name des JDBC-Treibers den Namen des Treibers ein. Redshift unterstützt zwei Arten von JDBC-Treibern: CData und Amazon. Weitere Informationen finden Sie unter JDBC-Treiber hochladen.
      3. Geben Sie im Feld Host den Endpunkt des Redshift-Clusters ein, z. B. cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com.
      4. Optional: Geben Sie im Feld Port eine Datenbankportnummer ein, z. B. 5439.
      5. Wenn für Ihre Redshift-Datenbank eine Authentifizierung erforderlich ist, gehen Sie so vor:

        1. Geben Sie im Feld Nutzername den Namen für die Datenbank ein.
        2. Geben Sie im Feld Passwort das Passwort für die Datenbank ein.
        3. Optional: Geben Sie im Feld Argumente Schlüsselwertargumente ein. Wenn Sie den CData-Treiber verwenden möchten, geben Sie die Verbindungsargumente an, z. B. RTK oder OEMKey, falls zutreffend.
        4. Geben Sie im Feld Name einen Namen ein, z. B. SN-PC-Source-01-01-2024.
        5. Geben Sie den Namen der Zieldatenbank in das Feld Datenbank ein, z. B. datafusiondb.

      Wiederverwendbare Verbindung

      So verwenden Sie eine vorhandene Verbindung wieder:

      1. Aktivieren Sie Verbindung verwenden.
      2. Klicken Sie auf Verbindungen durchsuchen.
      3. Klicken Sie auf den Namen der Verbindung.

      4. Optional: Wenn keine Verbindung besteht und Sie eine neue wiederverwendbare Verbindung erstellen möchten, klicken Sie auf Verbindung hinzufügen und folgen Sie der Anleitung auf dem Tab Neue Verbindung auf dieser Seite.

    3. Geben Sie im Feld Importabfrage eine Abfrage mit den Schema- und Tabellennamen aus Ihrer Redshift-Quelle ein, z. B. Select * from "public"."users".

    4. Optional: Geben Sie erweiterte Eigenschaften ein, z. B. eine Begrenzungsabfrage oder die Anzahl der Aufteilungen. Alle Property-Beschreibungen finden Sie unter Properties.

  6. Optional: Klicken Sie auf Validieren und beheben Sie alle gefundenen Fehler.

  7. Klicken Sie auf Schließen. Die Eigenschaften werden gespeichert und Sie können Ihre Datenpipeline in der Cloud Data Fusion-Weboberfläche weiter erstellen.

Eigenschaften

Attribut Unterstützt Makros für die Automatisierung Erforderliche Property Beschreibung
Label Nein Ja Der Name des Knotens in Ihrer Datenpipeline.
Verbindung verwenden Nein Nein Suchen Sie nach einer Verbindung zur Quelle. Wenn Verbindung verwenden aktiviert ist, müssen Sie keine Anmeldedaten angeben.
Verbindung Ja Ja Name der zu verwendenden Verbindung. Dieses Feld wird angezeigt, wenn Verbindung verwenden ausgewählt ist. Datenbank- und Tabelleninformationen werden über die Verbindung bereitgestellt.
Name des JDBC-Treibers Ja Ja Name des zu verwendenden JDBC-Treibers. Dieses Feld wird angezeigt, wenn Verbindung verwenden nicht ausgewählt ist.
Moderator:in Ja Ja Der Endpunkt des Amazon Redshift-Clusters. Dieses Feld wird angezeigt, wenn Verbindung verwenden nicht ausgewählt ist.
Port Ja Nein Port, auf dem Redshift ausgeführt wird. Dieses Feld wird angezeigt, wenn Verbindung verwenden nicht ausgewählt ist.
Nutzername Ja Nein Nutzeridentität für die Verbindung zur angegebenen Datenbank. Dieses Feld wird angezeigt, wenn Verbindung verwenden nicht ausgewählt ist.
Passwort Ja Nein Das Passwort, das für die Verbindung zur angegebenen Datenbank verwendet werden soll. Dieses Feld wird angezeigt, wenn Verbindung verwenden nicht ausgewählt ist.
Verbindungsargumente Ja Nein Eine Liste beliebiger Schlüssel/Wert-Paare als Verbindungsargumente. Diese Argumente werden als Verbindungsargumente an den JDBC-Treiber übergeben. Das ist für JDBC-Treiber erforderlich, die möglicherweise zusätzliche Konfigurationen benötigen. Dieses Feld wird angezeigt, wenn Verbindung verwenden nicht ausgewählt ist.
Referenzname Nein Ja Hiermit wird diese Quelle eindeutig für die Datenverlaufskontrolle, das Annotieren von Metadaten und andere Dienste identifiziert.
Datenbank Ja Ja Der Name der Redshift-Datenbank. Klicken Sie auf Datenbank durchsuchen, um Daten auszuwählen.
Abfrage importieren Ja Ja Die SELECT-Abfrage, die zum Importieren von Daten aus der angegebenen Tabelle verwendet werden soll.
Begrenzungsabfrage Ja Nein SQL-Abfrage, die die Mindest- und Höchstwerte aus dem Feld splitBy zurückgibt. Beispiel: SELECT MIN(id),MAX(id) FROM table. Nicht erforderlich, wenn numSplits auf „1“ gesetzt ist.
Spalte teilen Ja Nein Der Feldname, der zum Generieren von Aufteilungen verwendet wird. Nicht erforderlich, wenn numSplits auf „1“ gesetzt ist.
Anzahl der Splits Ja Nein Anzahl der zu generierenden Splits.
Größe Ja Nein Die Anzahl der Zeilen, die pro Split gleichzeitig abgerufen werden sollen. Eine größere Abrufgröße kann zu einem schnelleren Import führen, allerdings auf Kosten einer höheren Arbeitsspeichernutzung. Wenn nicht angegeben, ist der Standardwert 1000.

Datentypzuordnungen

In der folgenden Tabelle finden Sie eine Liste der Redshift-Datentypen mit den entsprechenden CDAP-Typen:

Redshift-Datentyp CDAP-Schemadatentyp
bigint long
boolean boolean
character string
character varying string
date date
double precision double
geometry bytes
hllsketch string
integer int
json string
numeric(precision, scale)/decimal(precision, scale) decimal
numeric mit Präzision 0 string
real float
smallint int
super string
text string
time [ (p) ] ohne Zeitzone time
time [ (p) ] mit Zeitzone string
timestamp [ (p) ] ohne Zeitzone timestamp
timestamp [ (p) ] mit Zeitzone timestamp
varbyte byte
xml string

Best Practices

Die folgenden Best Practices gelten, wenn Sie vonGoogle Cloudaus eine Verbindung zu einem Redshift-Cluster herstellen.

IP-Zulassungslisten verwenden

Um den Zugriff von nicht autorisierten Quellen zu verhindern und den Zugriff auf bestimmte IP-Adressen einzuschränken, aktivieren Sie die Zugriffssteuerung für den Redshift-Cluster.

Wenn Sie Redshift-Zugriffssteuerungen verwenden, gehen Sie so vor, um in Cloud Data Fusion auf den Cluster zuzugreifen:

  1. Rufen Sie die externen IP-Adressen der Dienste oder Maschinen aufGoogle Cloud ab, die eine Verbindung zum Redshift-Cluster herstellen müssen, z. B. die IP-Adresse des Proxyservers (siehe IP-Adressen ansehen). Rufen Sie für Managed Service for Apache Spark-Cluster die IP-Adressen aller Master- und untergeordneten Knoten ab.
  2. Fügen Sie die IP-Adressen einer Zulassungsliste in den Sicherheitsgruppen hinzu, indem Sie die Regeln für eingehenden Traffic für die IP-Adressen der Google Cloud -Maschine erstellen.

  3. Fügen Sie die Verbindungseigenschaften in Wrangler hinzu und testen Sie sie:

    1. Öffnen Sie die Cloud Data Fusion-Instanz in der Weboberfläche.
    2. Klicken Sie auf Wrangler > Verbindung hinzufügen und erstellen Sie die neue Verbindung für Redshift.
    3. Geben Sie alle Verbindungseigenschaften ein.
    4. Klicken Sie auf Verbindung testen und beheben Sie alle Probleme.

Mehrere Aufteilungen mit Begrenzungsabfragen erstellen

Verwenden Sie bei mehreren Aufteilungen Begrenzungsabfragen, um den Multi-Node-Cluster zu verwalten. Wenn Sie Daten aus Redshift extrahieren und die Last gleichmäßig auf die einzelnen Knoten verteilen möchten, konfigurieren Sie eine Begrenzungsabfrage in den Eigenschaften des Redshift-Quellconnectors.

  1. Rufen Sie in Ihrer Cloud Data Fusion-Pipeline auf der Seite Studio den Redshift-Knoten auf und klicken Sie auf Properties (Eigenschaften).
  2. Geben Sie in den erweiterten Eigenschaften Folgendes an:

    1. Geben Sie die Anzahl der zu erstellenden Splits ein.
    2. Geben Sie die Abrufgröße für jede Aufteilung ein.
    3. Geben Sie eine Begrenzungsabfrage ein, die auf den Redshift-Cluster mit mehreren Knoten angewendet werden soll.
    4. Geben Sie den Namen des Felds Aufteilungsspalte ein.

Angenommen, Sie haben den folgenden Anwendungsfall:

  • Sie haben eine Tabelle mit 10 Millionen Datensätzen.
  • Sie enthält eine eindeutige ID-Spalte namens id.
  • Der Redshift-Cluster hat vier Knoten.
  • Ziel: Um das Potenzial des Clusters zu nutzen, möchten Sie mehrere Aufteilungen erstellen. Verwenden Sie dazu die folgenden Attributkonfigurationen:

    • Geben Sie im Feld Bounding query die folgende Abfrage ein:

      SELECT MIN(id), MAX(id) FROM tableName
      

      In dieser Abfrage ist id der Name der Spalte, in der die Aufteilungen angewendet werden.

    • Geben Sie im Feld Spalte aufteilen den Spaltennamen id ein.

    • Geben Sie die Anzahl der Splits und die Abrufgröße ein. Diese Eigenschaften sind miteinander verbunden. Sie können also Splits basierend auf der Abrufgröße berechnen oder umgekehrt. Geben Sie für dieses Beispiel Folgendes ein.

    • Geben Sie im Feld Anzahl der Splits den Wert 40 ein. In diesem Beispiel enthält die Tabelle zehn Millionen Datensätze. Wenn Sie 40 Aufteilungen erstellen, enthält jede Aufteilung 250.000 Datensätze.

    • Geben Sie im Feld Abrufgröße den Wert 250,000 ein.

Nächste Schritte