Auf dieser Seite wird beschrieben, wie Sie mit Cloud Data Fusion Daten aus einer Amazon Redshift-Instanz inGoogle Cloud laden. 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.
Hinweis
- 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 liefert die Informationen zum Schema und zum Tabellennamen, die zum Generieren der Importabfrage verwendet werden.
Plug-in konfigurieren
Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
Achten Sie darauf, dass Datenpipeline – Batch ausgewählt ist (nicht Echtzeit).
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 aus dem Cloud Data Fusion Hub.
Klicken Sie zum Konfigurieren der Quelle auf den Redshift-Knoten und dann auf Properties.
Geben Sie die folgenden Properties 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 die Option 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 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 im Feld Port eine Datenbankportnummer 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 Schlüssel/Wert-Argumente ein. Wenn Sie den CData-Treiber verwenden möchten, geben Sie gegebenenfalls die Verbindungsargumente wie RTK oder OEMKey an.
- Geben Sie im Feld Name einen Namen ein, z. B.
SN-PC-Source-01-01-2024
. - Geben Sie im Feld Datenbank den Namen der Zieldatenbank 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.
Geben Sie im Feld Importabfrage eine Abfrage mit den Schema- und Tabellennamen aus Ihrer Redshift-Quelle ein, z. B.
Select * from "public"."users"
.Optional: Geben Sie erweiterte Properties ein, z. B. eine Begrenzungsabfrage oder die Anzahl der Aufteilungen. Alle Property-Beschreibungen finden Sie unter Properties.
- 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 Properties werden gespeichert und Sie können Ihre Datenpipeline in der Cloud Data Fusion-Weboberfläche weiter erstellen.
Attribute
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. Wenn Verbindung verwenden ausgewählt ist, wird dieses Feld angezeigt. Datenbank- und Tabelleninformationen werden über die Verbindung bereitgestellt. |
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 für die Verbindung zur angegebenen Datenbank. Wenn Verbindung verwenden nicht ausgewählt ist, wird dieses Feld angezeigt. |
Passwort | Ja | Nein | Passwort für die Verbindung zur angegebenen Datenbank. 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 an den JDBC-Treiber als Verbindungsargumente für JDBC-Treiber übergeben, 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, mit der Daten aus der angegebenen Tabelle importiert werden sollen. |
Begrenzungsanfrage | Ja | Nein | SQL-Abfrage, die den Mindest- und Höchstwert 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 | 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 Teilung gleichzeitig abgerufen werden sollen. Eine größere Abrufgröße kann zu einem schnelleren Import führen, was jedoch zu einer höheren Speichernutzung führt. Wenn nicht angegeben, ist der Standardwert 1000 . |
Datentypzuordnungen
In der folgenden Tabelle sind Redshift-Datentypen mit den entsprechenden CDAP-Typen aufgeführt:
Redshift-Datentyp | CDAP-Schema-Datentyp |
---|---|
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 einer Genauigkeit von 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 überGoogle Cloudeine Verbindung zu einem Redshift-Cluster herstellen.
IP-Zulassungslisten verwenden
Aktivieren Sie die Zugriffssteuerung für den 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 auf den Cluster in Cloud Data Fusion zuzugreifen:
- Ermitteln Sie die externen IP-Adressen der Dienste oder Maschinen aufGoogle Cloud , die eine Verbindung zum Redshift-Cluster herstellen müssen, z. B. die Proxy-Server-IP-Adresse (siehe IP-Adressen ansehen). Rufen Sie für Dataproc-Cluster die IP-Adressen aller Master- und untergeordneten Knoten ab.
Fügen Sie die IP-Adressen einer Zulassungsliste in den Sicherheitsgruppen hinzu, indem Sie die Regeln für den eingehenden Traffic für die Google Cloud Computer-IP-Adressen erstellen.
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 Aufteilungen Begrenzungsanfragen, um den Cluster mit mehreren Knoten zu verwalten. Wenn Sie Daten aus Redshift extrahieren und die Last gleichmäßig auf alle Knoten verteilen möchten, konfigurieren Sie in den Eigenschaften des Redshift-Quell-Connectors eine Begrenzungsabfrage.
- Klicken Sie in Ihrer Cloud Data Fusion-Pipeline auf der Seite Studio auf den Redshift-Knoten und dann auf Properties.
Geben Sie unter Erweitert Folgendes an:
- Geben Sie die Anzahl der zu erstellenden Verzweigungen ein.
- Geben Sie die Abrufmenge 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 Spalte für Aufteilung 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: Sie möchten das Potenzial des Clusters nutzen und planen, mehrere Splits zu generieren. Verwenden Sie dazu die folgenden Property-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, auf die die Aufteilungen angewendet werden.Geben Sie im Feld Spalte teilen den Spaltennamen
id
ein.Geben Sie die Anzahl der Splits und die Abrufgröße ein. Diese Properties sind miteinander verknüpft. So können Sie Aufteilungen basierend auf einer Abrufmenge oder umgekehrt berechnen. Geben Sie für dieses Beispiel Folgendes ein.
Geben Sie im Feld Anzahl der Splits die Zahl
40
ein. In diesem Beispiel, in dem die Tabelle zehn Millionen Datensätze enthält, führt das Erstellen von 40 Splits dazu,dass jeder Split 250.000 Datensätze enthält.Geben Sie im Feld Abrufgröße den Wert
250,000
ein.
Nächste Schritte
- Sehen Sie sich die Cloud Data Fusion-Plug-ins an.