Auf dieser Seite wird beschrieben, wie Sie mit Cloud Data Fusion Daten aus einer Amazon Redshift-Instanz in Google Cloud laden. Mit dem Redshift-Quell-Connector können Sie Tabellen aus Ihrem Redshift-Dataset mit Ihrem Ziel synchronisieren, z. B. mit BigQuery. Mit dem Connector können Sie außerdem eine konfigurierbare SQL-Abfrage erstellen.
Hinweise
- Cloud Data Fusion-Versionen 6.9.0 und höher unterstützen die Redshift-Quelle.
Wenn Sie den Redshift-Quell-Connector konfigurieren, können Sie eine vorhandene, wiederverwendbare Verbindung auswählen oder eine neue, einmalige Verbindung erstellen. Weitere Informationen finden Sie unter Verbindungen verwalten. Beachten Sie Folgendes, wenn Sie eine Verbindung wiederverwenden:
- Sie müssen keine Anmeldedaten angeben.
- Die vorhandene Verbindung stellt die Informationen zum Schema und zum Tabellennamen bereit, die zum Generieren der Importabfrage verwendet werden.
Plug-in konfigurieren
Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
Prüfen Sie, ob 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, stellen Sie den Redshift-Quellconnector aus dem Cloud Data Fusion Hub bereit.
Um die Quelle zu konfigurieren, rufen Sie den Redshift-Knoten auf und klicken Sie auf Eigenschaften.
Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Eigenschaften.
- 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
Gehen Sie folgendermaßen vor, um eine einmalige Verbindung zu Redshift hinzuzufügen:
- Die Option Verbindung verwenden bleibt 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 JDBC-Treiber hochladen.
- Geben Sie im Feld Host den Endpunkt des Redshift-Clusters ein, z. B.
cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com
. - Optional: Geben Sie in das Feld Port eine Datenbank-Portnummer ein, z. B.
5439
. Wenn für Ihre Redshift-Datenbank eine Authentifizierung erforderlich ist, gehen Sie so vor:
- Geben Sie im Feld Nutzername den Namen für die Datenbank ein.
- Geben Sie im Feld Passwort das Passwort für die Datenbank ein.
- Optional: Geben Sie im Feld Argumente Argumente für Schlüssel/Wert-Paare ein. Geben Sie zur Verwendung des CData-Treibers gegebenenfalls die Verbindungsargumente an, z. B. RTK oder OEMKey.
- Geben Sie im Feld Name einen Namen ein, z. B.
SN-PC-Source-01-01-2024
. - Geben Sie den Namen der Zieldatenbank in das Feld Datenbank ein, 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 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.
Geben Sie im Feld Import query (Abfrage importieren) eine Abfrage mit den Schema- und Tabellennamen aus Ihrer Redshift-Quelle ein, z. B.
Select * from "public"."users"
.Optional: Geben Sie Eigenschaften des Typs Advanced ein, z. B. eine Begrenzungsabfrage oder die Anzahl der Aufteilungen. Alle Attributbeschreibungen finden Sie unter Eigenschaften.
- Geben Sie ein Label für den Redshift-Knoten ein, z. B.
Optional: Klicken Sie auf Validieren und beheben Sie alle gefundenen Fehler.
Klicken Sie auf
Schließen. Die Attribute werden gespeichert und Sie können die Datenpipeline in der Weboberfläche von Cloud Data Fusion weiter erstellen.
Attribute
Attribut | Unterstützt Makros für die Automatisierung | Erforderliches Attribut | 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. Wenn Verbindung verwenden ausgewählt ist, wird dieses Feld angezeigt. Datenbank- und Tabelleninformationen werden über die Verbindung bereitgestellt. |
JDBC-Treibername | 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, das zum Herstellen einer Verbindung zur angegebenen Datenbank verwendet werden soll. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt. |
Verbindungsargumente | Ja | Nein | Eine Liste beliebiger String-Schlüssel/Wert-Paare als Verbindungsargumente. Diese Argumente werden als Verbindungsargumente für JDBC-Treiber an den JDBC-Treiber übergeben, die möglicherweise zusätzliche Konfigurationen benötigen. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt. |
Referenzname | Nein | Ja | Hiermit wird diese Quelle eindeutig für die Herkunft, die Annotation 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 zum Importieren von Daten aus der angegebenen Tabelle. |
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 eins gesetzt ist. |
Spalte aufteilen | Ja | Nein | Feldname, der zum Generieren von Aufteilungen verwendet wird. Nicht erforderlich, wenn numSplits auf eins gesetzt ist. |
Anzahl der Splits | Ja | Nein | Anzahl der zu generierenden Aufteilungen. |
Größe | Ja | Nein | Die Anzahl der Zeilen, die jeweils pro Split abgerufen werden sollen. Eine größere Abrufgröße kann den Import beschleunigen und gleichzeitig eine höhere Arbeitsspeichernutzung in Kauf nehmen. Wenn nicht angegeben, ist der Standardwert 1000 . |
Datentypzuordnungen
Die folgende Tabelle enthält eine Liste von Redshift-Datentypen mit 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 (Genauigkeit; Skalierung)/decimal (Genauigkeit; Skalierung) |
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 eine Verbindung zu einem Redshift-Cluster aus Google Cloud herstellen.
Zulassungslisten für IP-Adressen verwenden
Aktivieren Sie die Zugriffssteuerung im Redshift-Cluster, um den Zugriff von nicht autorisierten Quellen zu verhindern und den Zugriff auf bestimmte IP-Adressen einzuschränken.
Wenn Sie Redshift-Zugriffssteuerungen verwenden, gehen Sie so vor, um in Cloud Data Fusion auf den Cluster zuzugreifen:
- Rufen Sie die externen IP-Adressen der Dienste oder Maschinen in Google Cloud ab, die eine Verbindung zum Redshift-Cluster herstellen müssen, z. B. die Proxyserver-IP-Adresse (siehe IP-Adressen ansehen). Für Dataproc-Cluster rufen Sie die IP-Adressen aller Master- und untergeordneten Knoten ab.
Fügen Sie die IP-Adressen einer Zulassungsliste in den Sicherheitsgruppen hinzu. Erstellen Sie dazu die Regeln für eingehenden Traffic für die IP-Adressen der Google Cloud-Maschinen.
Fügen Sie die Verbindungseigenschaften 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 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 bei mehreren Splits Begrenzungsabfragen, um den Cluster mit mehreren Knoten zu verwalten. In Szenarien, in denen Sie Daten aus Redshift extrahieren und die Last gleichmäßig auf jeden Knoten verteilen, konfigurieren Sie eine Begrenzungsabfrage in den Attributen des Redshift-Quell-Connectors.
- Rufen Sie in der Cloud Data Fusion-Pipeline auf der Seite Studio den Redis-Knoten auf und klicken Sie auf Eigenschaften.
Geben Sie in den Eigenschaften unter Erweitert Folgendes an:
- Geben Sie die Anzahl der zu erstellenden Aufteilungen ein.
- Geben Sie die Abrufgröße für jede Aufteilung ein.
- Geben Sie eine Begrenzungsabfrage ein, die auf den Redshift-Cluster mit mehreren Knoten angewendet werden soll.
- Geben Sie den Namen des Felds Split column ein.
Angenommen, Sie haben folgenden Anwendungsfall:
- Sie haben eine Tabelle mit 10 Millionen Datensätzen.
- Sie hat eine eindeutige ID-Spalte mit dem Namen
id
. - Der Redshift-Cluster hat 4 Knoten.
Ziel: Um das Potenzial des Clusters zu nutzen, planen Sie, mehrere Aufteilungen zu generieren. Verwenden Sie dazu die folgenden Property-Konfigurationen:
Geben Sie im Feld Begrenzungsabfrage die folgende Abfrage ein:
SELECT MIN(id), MAX(id) FROM tableName
In dieser Abfrage ist
id
der Name der Spalte, auf die 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 Attribute sind miteinander verbunden, sodass Sie Aufteilungen basierend auf einer Abrufgröße oder umgekehrt berechnen können. Geben Sie für dieses Beispiel Folgendes ein.
Geben Sie in das Feld Anzahl der Teilungen den Wert
40
ein. In diesem Beispiel hat die Tabelle zehn Millionen Datensätze und 40 Splits haben jeweils 250.000 Datensätze.Geben Sie im Feld Abrufgröße den Wert
250,000
ein.
Nächste Schritte
- Sehen Sie sich die Cloud Data Fusion-Plug-ins an.