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
Rufen Sie die Cloud Data Fusion-Web-UI auf und klicken Sie auf Studio.
Prüfen Sie, ob Datenpipeline – Batch (nicht Echtzeit) ausgewählt ist.
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.
Wenn Sie die Quelle konfigurieren möchten, rufen Sie den Redshift-Knoten auf und klicken Sie auf Attribute.
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 Einmalverbindung 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 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.
- 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üsselwertargumente ein. Wenn Sie den CData-Treiber verwenden möchten, geben Sie die Verbindungsargumente an, z. B. RTK oder OEMKey, falls zutreffend.
- 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 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.
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 Eigenschaften 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 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:
- 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.
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.
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.
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.
- Rufen Sie in Ihrer Cloud Data Fusion-Pipeline auf der Seite Studio den Redshift-Knoten auf und klicken Sie auf Properties (Eigenschaften).
Geben Sie in den erweiterten Eigenschaften Folgendes an:
- Geben Sie die Anzahl der zu erstellenden Splits 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 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 tableNameIn dieser Abfrage ist
idder Name der Spalte, in der die Aufteilungen angewendet werden.Geben Sie im Feld Spalte aufteilen den Spaltennamen
idein.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
40ein. 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,000ein.