Redshift-Batchquelle

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

Hinweise

  • Die Redshift-Quelle wird von Cloud Data Fusion ab Version 6.9.0 unterstützt.
  • Bei der Konfiguration des Redshift-Quell-Connectors können Sie vorhandene, wiederverwendbare Verbindung oder erstellen Sie eine neue, einmalige Verbindung. Weitere Informationen finden Sie unter Verbindungen verwalten. Wenn Sie eine Verbindung wiederverwenden, Folgendes:

    • Sie müssen keine Anmeldedaten angeben.
    • Die vorhandene Verbindung liefert Informationen zum Schema und zum Tabellennamen das zum Generieren der Importabfrage verwendet wird.

Plug-in konfigurieren

  1. Zur Weboberfläche von Cloud Data Fusion und klicke auf Studio.

  2. Achten Sie darauf, dass Data Pipeline – Batch (Datenpipeline – Batch) ausgewählt ist (nicht Realtime).

  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, implementieren Sie den Redshift-Quell-Connector über den Cloud Data Fusion Hub.

  4. Klicken Sie zum Konfigurieren der Quelle auf den Redshift-Knoten und dann auf Properties.

  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 einmalige Verbindung 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 JDBC-Treibername den Namen des Treibers ein. Redshift unterstützt zwei Arten von JDBC-Treibern: CData und Amazon: Weitere Informationen finden Sie unter Laden Sie einen JDBC-Treiber hoch.
      3. Geben Sie in das Feld Host den Endpunkt von Redshift ein. einen Cluster erstellen, z. B. cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com
      4. Optional: Geben Sie im Feld Port einen Datenbankport ein. Zahl, z. B. 5439.
      5. Wenn Ihre Redshift-Datenbank eine Authentifizierung erfordert, führen Sie den Folgendes:

        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.
        3. Optional: Geben Sie in das Feld Argumente Schlüsselwertargumente. Um den CData-Treiber zu verwenden, geben Sie den wie RTK oder OEMKey.
        4. Geben Sie in das Feld Name einen Namen ein, z. B. SN-PC-Source-01-01-2024
        5. Geben Sie den Namen der Zieldatenbank in das Feld Datenbank Feld, 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 vorhanden ist und Sie eine klicken Sie auf Add connection (Verbindung hinzufügen) und verweisen Sie auf das auf dem Tab Neue Verbindung Seite.

    3. Geben Sie im Feld Abfrage importieren eine Abfrage mit dem Schema und der Tabelle ein. Namen aus Ihrer Redshift-Quelle, z. B. Select * from "public"."users".

    4. Optional: Geben Sie unter Advanced (Erweitert) Eigenschaften ein, z. B. eine Begrenzung. oder die Anzahl der Aufteilungen. Alle Hotelbeschreibungen finden Sie unter Properties:

  6. Optional: Klicken Sie auf Validieren und beheben Sie eventuelle Fehler.

  7. Klicken Sie auf  Schließen. Eigenschaften werden gespeichert und Sie können mit der Erstellung Ihrer Daten fortfahren Pipeline in der Weboberfläche von Cloud Data Fusion.

Properties

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.
Verbindung Ja Ja Name der zu verwendenden Verbindung. Wenn Verbindung verwenden auf ausgewählt haben, wird dieses Feld angezeigt. Datenbank- und Tabelleninformationen werden bereitgestellt durch die Verbindung.
Name des JDBC-Treibers Ja Ja Name des zu verwendenden JDBC-Treibers. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt.
Moderator:in Ja Ja Der Endpunkt des Amazon Redshift-Clusters. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt.
Port Ja Nein Port, auf dem Redshift ausgeführt wird. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt.
Nutzername Ja Nein Nutzeridentität zum Herstellen einer Verbindung zur angegebenen Datenbank. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt.
Passwort Ja Nein Passwort zum Herstellen einer Verbindung zur angegebenen Datenbank. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt.
Verbindungsargumente Ja Nein Eine Liste mit beliebigen String-Schlüssel/Wert-Paaren als Verbindungsargumente. Diese Argumente werden als Verbindung Argumente für JDBC-Treiber, die möglicherweise zusätzliche Konfigurationen erfordern. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt.
Referenzname Nein Ja Hiermit wird diese Quelle eindeutig für die Datenverlaufskontrolle, das Annotieren von Metadaten und andere Dienste identifiziert.
Datenbank Ja Ja 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 dem die angegebene Tabelle enthält.
Begrenzungsabfrage Ja Nein SQL-Abfrage, die die Mindest- und Höchstwerte der splitBy. Beispiel: SELECT MIN(id),MAX(id) FROM table. Nicht erforderlich, wenn numSplits auf „1“ gesetzt ist.
Spalte aufteilen Ja Nein Feldname, der zum Generieren von Aufteilungen verwendet wird. Nicht erforderlich, wenn numSplits ist auf eins eingestellt.
Anzahl der Aufteilungen Ja Nein Anzahl der zu generierenden Aufteilungen.
Größe Ja Nein Die Anzahl der Zeilen, die pro Teilung gleichzeitig abgerufen werden sollen. Größere Abrufgröße kann zu einem schnelleren Import führen, allerdings mit dem Nachteil, dass mehr Arbeitsspeicher verfügbar ist. Nutzung. Wenn nicht angegeben, ist der Standardwert 1000.

Datentypzuordnungen

In der folgenden Tabelle sind Redshift-Datentypen mit den entsprechenden CDAP-Typen aufgeführt:

Redshift-Datentyp Datentyp des CDAP-Schemas
bigint long
boolean boolean
character string
character varying string
date date
double precision double
geometry bytes
hllsketch string
integer int
json string
numeric(Genauigkeit, Skalierung)/decimal(Genauigkeit, Skalierung) decimal
numeric mit der Genauigkeit 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 für das Herstellen einer Verbindung zu einem Redshift-Cluster von Google Cloud

IP-Zulassungslisten verwenden

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

Wenn Sie Redshift-Zugriffssteuerungen verwenden, greifen Sie für den Zugriff auf den Cluster in Gehen Sie in Cloud Data Fusion so vor:

  1. Externe IP-Adressen der Dienste oder Maschinen auf dem Google Cloud, die eine Verbindung zum Redshift-Cluster herstellen müssen, z. B. Proxy-Server-IP (siehe Anzeige von IP-Adressen) Adressen). Rufen Sie für Dataproc-Cluster die IP-Adressen aller Master- und untergeordneten Knoten.
  2. Fügen Sie die IP-Adressen einer Zulassungsliste in den Sicherheitsgruppen hinzu, indem Sie die Regeln für den eingehenden Traffic für die IP-Adressen der Google Cloud-Maschine erstellen.

  3. Fügen Sie die Verbindungsattribute 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. Verbindung für Redshift.
    3. Geben Sie alle Verbindungseigenschaften ein.
    4. Klicken Sie auf Verbindung testen und beheben Sie alle Probleme.

Verwenden Sie Begrenzungsabfragen, um mehrere Aufteilungen zu erstellen

Verwenden Sie für mehrere Aufteilungen Begrenzungsabfragen, um den Cluster mit mehreren Knoten zu verwalten. In Szenarien, in denen Sie Daten aus Redshift extrahieren und die Last gleichmäßig verteilen für jeden Knoten eine Begrenzungsabfrage im Redshift-Quell-Connector konfigurieren. Eigenschaften.

  1. Wechseln Sie in der Cloud Data Fusion-Pipeline auf der Seite Studio zum Redshift-Knoten und klicken Sie auf Attribute.
  2. Geben Sie unter Erweitert Folgendes an:

    1. Geben Sie die Anzahl der zu erstellenden Aufteilungen ein.
    2. Geben Sie die Abrufgröße für jeden Split ein.
    3. Geben Sie eine Begrenzungsabfrage ein, die auf den Redshift-Cluster mit mehreren Knoten angewendet werden soll.
    4. Geben Sie den Feldnamen Spalte aufteilen ein.

Nehmen wir zum Beispiel den folgenden Anwendungsfall an:

  • Sie haben eine Tabelle, die 10 Millionen Datensätze enthält.
  • Sie hat eine eindeutige ID-Spalte namens id.
  • Der Redshift-Cluster hat 4 Knoten.
  • Ziel: Um das Potenzial des Clusters zu nutzen, planen Sie, Generierung mehrerer Aufteilungen. Verwenden Sie dazu die folgende Eigenschaft Konfigurationen:

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

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

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

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

    • Geben Sie die Anzahl der Aufteilungen und die Abrufgröße ein. Diese Eigenschaften sind miteinander verbunden, sodass Sie Aufteilungen anhand der Abrufgröße oder der anders herum. Geben Sie für dieses Beispiel Folgendes ein:

    • Geben Sie im Feld Anzahl der Aufteilungen den Wert 40 ein. In diesem Beispiel ist der Parameter die zehn Millionen Datensätze, sodass in jedem 40 Split-Ergebnisse aufgeteilt mit 250.000 Datensätzen.

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

Nächste Schritte