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
Zur Weboberfläche von Cloud Data Fusion und klicke auf Studio.
Achten Sie darauf, dass Data Pipeline – Batch (Datenpipeline – Batch) ausgewählt ist (nicht Realtime).
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.
Klicken Sie zum Konfigurieren der Quelle auf den Redshift-Knoten und dann auf Properties.
Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Properties.
- Geben Sie ein Label für den Redshift-Knoten ein, z. B.
Redshift tables
. 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:
- Lassen Sie Verbindung verwenden deaktiviert.
- 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.
- 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
- Optional: Geben Sie im Feld Port einen Datenbankport ein.
Zahl, z. B.
5439
. Wenn Ihre Redshift-Datenbank eine Authentifizierung erfordert, führen Sie den Folgendes:
- Geben Sie im Feld Nutzername den Namen für die Datenbank ein.
- Geben Sie im Feld Passwort das Passwort für die Datenbank.
- Optional: Geben Sie in das Feld Argumente Schlüsselwertargumente. Um den CData-Treiber zu verwenden, geben Sie den wie RTK oder OEMKey.
- Geben Sie in das Feld Name einen Namen ein, z. B.
SN-PC-Source-01-01-2024
- Geben Sie den Namen der Zieldatenbank in das Feld Datenbank
Feld, z. B.
datafusiondb
.
Wiederverwendbare Verbindung
So verwenden Sie eine vorhandene Verbindung wieder:
- Aktivieren Sie Verbindung verwenden.
- Klicken Sie auf Verbindungen durchsuchen.
Klicken Sie auf den Namen der Verbindung.
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.
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"
.Optional: Geben Sie unter Advanced (Erweitert) Eigenschaften ein, z. B. eine Begrenzung. oder die Anzahl der Aufteilungen. Alle Hotelbeschreibungen finden Sie unter Properties:
- Geben Sie ein Label für den Redshift-Knoten ein, z. B.
Optional: Klicken Sie auf Validieren und beheben Sie eventuelle Fehler.
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:
- 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.
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.
Fügen Sie die Verbindungsattribute in Wrangler hinzu und testen Sie sie:
- Öffnen Sie die Cloud Data Fusion-Instanz in der Weboberfläche.
- Klicken Sie auf Wrangler > Verbindung hinzufügen und erstellen Sie die neue Verbindung. Verbindung für Redshift.
- Geben Sie alle Verbindungseigenschaften ein.
- 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.
- Wechseln Sie in der Cloud Data Fusion-Pipeline auf der Seite Studio zum Redshift-Knoten und klicken Sie auf Attribute.
Geben Sie unter Erweitert Folgendes an:
- Geben Sie die Anzahl der zu erstellenden Aufteilungen ein.
- Geben Sie die Abrufgröße für jeden Split ein.
- Geben Sie eine Begrenzungsabfrage ein, die auf den Redshift-Cluster mit mehreren Knoten angewendet werden soll.
- 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
- Sehen Sie sich die Cloud Data Fusion-Plug-ins an.