Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verbindung zu einem Snowflake-Data Warehouse herstellen mit AWS Schema Conversion Tool
Sie können AWS SCT es verwenden, um Schemas, Codeobjekte und Anwendungscode von Snowflake nach Amazon Redshift zu konvertieren.
Rechte für Snowflake als Quelldatenbank
Sie können eine Rolle mit Rechten erstellen und dieser Rolle den Namen eines Benutzers zuweisen, indem Sie die SECURITYADMIN
Rolle und den SECURITYADMIN
Sitzungskontext verwenden.
Das folgende Beispiel erstellt minimale Rechte und gewährt sie dem min_privs
Benutzer.
create role
role_name
; grant rolerole_name
to role sysadmin; grant usage on databasedb_name
to rolerole_name
; grant usage on schemadb_name
.schema_name
to rolerole_name
; grant usage on warehousedatawarehouse_name
to rolerole_name
; grant monitor on databasedb_name
to rolerole_name
; grant monitor on warehousedatawarehouse_name
to rolerole_name
; grant select on all tables in schemadb_name
.schema_name
to rolerole_name
; grant select on future tables in schemadb_name
.schema_name
to rolerole_name
; grant select on all views in schemadb_name
.schema_name
to rolerole_name
; grant select on future views in schemadb_name
.schema_name
to rolerole_name
; grant select on all external tables in schemadb_name
.schema_name
to rolerole_name
; grant select on future external tables in schemadb_name
.schema_name
to rolerole_name
; grant usage on all sequences in schemadb_name
.schema_name
to rolerole_name
; grant usage on future sequences in schemadb_name
.schema_name
to rolerole_name
; grant usage on all functions in schemadb_name
.schema_name
to rolerole_name
; grant usage on future functions in schemadb_name
.schema_name
to rolerole_name
; grant usage on all procedures in schemadb_name
.schema_name
to rolerole_name
; grant usage on future procedures in schemadb_name
.schema_name
to rolerole_name
; create user min_privs password='real_user_password
' DEFAULT_ROLE =role_name
DEFAULT_WAREHOUSE = 'datawarehouse_name
'; grant rolerole_name
to usermin_privs
;
Ersetzen Sie im vorherigen Beispiel die Platzhalter wie folgt:
-
Ersetzen
mit dem Namen einer Rolle mit Nur-Lese-Rechten.role_name
-
Durch
den Namen der Quelldatenbank ersetzen.db_name
-
Ersetzen Sie durch den Namen des Quellschemas.schema_name
-
Ersetzen
mit dem Namen eines erforderlichen Data Warehouse.Name des Data Warehouses
-
Ersetzen Sie ihn durch den Namen eines Benutzers mit minimalen Rechten.min_privs
Die DEFAULT_WAREHOUSE
Parameter DEFAULT_ROLE
und sind schlüsselabhängig.
Konfiguration des sicheren Zugriffs auf Amazon S3
Sicherheits- und Zugriffsverwaltungsrichtlinien für einen Amazon S3 S3-Bucket ermöglichen Snowflake den Zugriff auf den S3-Bucket, das Lesen von Daten und das Schreiben von Daten in den S3-Bucket. Sie können den sicheren Zugriff auf einen privaten Amazon S3 S3-Bucket mithilfe des STORAGE INTEGRATION
Snowflake-Objekttyps konfigurieren. Ein Snowflake-Speicherintegrationsobjekt delegiert die Verantwortung für die Authentifizierung an eine Snowflake-Identitäts- und Zugriffsverwaltungseinheit.
Weitere Informationen finden Sie unter Konfiguration einer Snowflake-Speicherintegration für den Zugriff auf Amazon S3
Verbindung zu Snowflake als Quelle herstellen
Gehen Sie wie folgt vor, um mit dem eine Verbindung zu Ihrer Quelldatenbank herzustellen. AWS Schema Conversion Tool
So stellen Sie eine Verbindung zu einer Snowflake-Quelldatenbank her
-
Wählen Sie in der AWS Schema Conversion Tool die Option Quelle hinzufügen.
-
Wählen Sie Snowflake und dann Weiter.
Das Dialogfeld „Quelle hinzufügen“ wird angezeigt.
-
Geben Sie unter Verbindungsname einen Namen für Ihre Datenbank ein. AWS SCT zeigt diesen Namen in der Baumstruktur im linken Bereich an.
-
Verwenden Sie die Datenbankanmeldedaten von AWS Secrets Manager oder geben Sie sie manuell ein:
-
Gehen Sie wie folgt vor, um Datenbankanmeldedaten von Secrets Manager zu verwenden:
-
Wählen Sie für AWS Secret den Namen des Secrets aus.
-
Wählen Sie Auffüllen, um alle Werte im Datenbankverbindungsdialogfeld von Secrets Manager automatisch auszufüllen.
Hinweise zur Verwendung von Datenbankanmeldedaten von Secrets Manager finden Sie unterKonfiguration AWS Secrets Manager in der AWS Schema Conversion Tool.
-
-
Gehen Sie wie folgt vor, um die Verbindungsinformationen für das Snowflake-Quell-Data Warehouse manuell einzugeben:
Parameter Aktion Server name Geben Sie den Namen oder die IP-Adresse Ihres Quelldatenbankservers ein (DNS).
Server port Geben Sie den Port ein, der für die Verbindung zum Quelldatenbankserver verwendet wird.
Datenbank Geben Sie den Namen der Snowflake-Datenbank ein.
User name und Password Geben Sie die Datenbankanmeldedaten ein, um eine Verbindung zu Ihrem Quelldatenbankserver herzustellen.
AWS SCT speichert Ihr Passwort nur dann in einem verschlüsselten Format, wenn Sie es ausdrücklich anfordern.
Benutze SSL Wählen Sie diese Option, wenn Sie Secure Sockets Layer (SSL) verwenden möchten, um eine Verbindung zu Ihrer Datenbank herzustellen. Geben Sie auf der SSLRegisterkarte gegebenenfalls die folgenden zusätzlichen Informationen ein:
-
Pfad des privaten Schlüssels: Der Speicherort eines privaten Schlüssels.
-
Passphrase: Die Passphrase für den privaten Schlüssel.
Passwort speichern AWS SCT erstellt einen sicheren Tresor zum Speichern von SSL Zertifikaten und Datenbankkennwörtern. Wenn Sie diese Option festlegen, können Sie das Datenbankkennwort speichern. Auf diese Weise können Sie schnell eine Verbindung zur Datenbank herstellen, ohne das Passwort eingeben zu müssen.
Snowflake-Treiberpfad Geben Sie den Pfad zum Treiber ein, der für die Verbindung zur Quelldatenbank verwendet wird. Weitere Informationen finden Sie unter JDBCTreiber werden installiert für AWS Schema Conversion Tool.
Wenn Sie den Treiberpfad in den globalen Projekteinstellungen speichern, wird der Pfad im Verbindungsdialogfeld nicht angezeigt. Weitere Informationen finden Sie unter Speichern von Treiberpfaden in den globalen Einstellungen.
-
-
-
Wählen Sie Verbindung testen, um zu überprüfen, ob eine Verbindung zu Ihrer Quelldatenbank hergestellt werden AWS SCT kann.
-
Wählen Sie Connect, um eine Verbindung zu Ihrer Quelldatenbank herzustellen.
Einschränkungen für Snowflake als Quelle
Die folgenden Einschränkungen gelten bei der Verwendung von Snowflake als Quelle für: AWS SCT
-
Objektkennungen müssen im Kontext des Objekttyps und des übergeordneten Objekts eindeutig sein:
- Datenbank
-
Schema-IDs müssen innerhalb einer Datenbank eindeutig sein.
- Schemata
-
Objektbezeichner, z. B. für Tabellen und Ansichten, müssen innerhalb eines Schemas eindeutig sein.
- Tabellen/Ansichten
-
Spaltenbezeichner müssen innerhalb einer Tabelle eindeutig sein.
-
Die maximale Anzahl von Tabellen für große und extragroße Cluster-Knotentypen beträgt 9.900. Bei Cluster-Knotentypen vom Typ 8xlarge beträgt die maximale Anzahl von Tabellen 100.000. Das Limit umfasst temporäre Tabellen, sowohl benutzerdefinierte Tabellen als auch Tabellen, die von Amazon Redshift während der Abfrageverarbeitung oder Systemwartung erstellt wurden. Weitere Informationen finden Sie unter Amazon Redshift quotas (Amazon-Redshift-Kontingente) im Amazon-Redshift-Clusterverwaltungshandbuch.
-
Für gespeicherte Prozeduren beträgt die maximale Anzahl von Eingabe- und Ausgabeargumenten 32.
Quelldatentypen für Snowflake
Im Folgenden finden Sie die Snowflake-Quelldatentypen, die bei der Verwendung unterstützt werden, AWS SCT und die Standardzuordnung zu einem Amazon Redshift Redshift-Ziel.
Snowflake-Datentypen | Amazon-Redshift-Datentypen |
---|---|
NUMBER |
NUMERIC(38) |
NUMBER(p) |
Wenn p =< 4 ist, dann SMALLINT Wenn p => 5 und =< 9 ist, dann INTEGER Wenn p => 10 und =< 18 ist, dann BIGINT Wenn p => 19 ist, dann NUMERIC (p) |
NUMBER(p, 0) |
Wenn p =< 4 ist, dann SMALLINT Wenn p => 5 und =< 9 ist, dann INTEGER Wenn p => 10 und =< 18 ist, dann BIGINT Wenn p => 19 ist, dann: NUMERIC (p,0) |
NUMBER(p, s) |
Wenn p => 1 und =< 38 ist und wenn s => 1 und =< 37 ist, dann NUMERIC(p, s) |
FLOAT |
FLOAT |
TEXT Unicode-Zeichen bis zu 16.777.216 Byte; bis zu 4 Byte pro Zeichen. |
VARCHAR(MAX) |
TEXT(p) Unicode-Zeichen bis zu 65.535 Byte; bis zu 4 Byte pro Zeichen. |
Wenn p =< 65.535 ist, dann ist (p) VARCHAR |
TEXT(p) Unicode-Zeichen bis zu 16.777.216 Byte; bis zu 4 Byte pro Zeichen. |
Wenn p => 65.535 und =< 16.777.216 ist, dann () VARCHAR MAX |
BINARY Einzelbyte-Zeichen bis zu 8.388.608 Byte; 1 Byte pro Zeichen. |
VARCHAR(MAX) |
BINARY(p) Einzelbyte-Zeichen bis zu 65.535 Byte; 1 Byte pro Zeichen. |
VARCHAR(p) |
BINARY(p) Einzelbyte-Zeichen bis zu 8.388.608 Byte; 1 Byte pro Zeichen. |
VARCHAR(MAX) |
BOOLEAN |
BOOLEAN |
DATE |
DATE |
TIME Zeitwerte zwischen 00:00:00 und 23:59:59.999 999999. |
VARCHAR(18) |
TIME(f) Zeitwerte zwischen 00:00:00 und 23:59:59.9 (f). |
VARCHAR(n) — 9 + dt-attr-1 |
TIMESTAMP_NTZ |
TIMESTAMP |
TIMESTAMP_TZ |
TIMESTAMPTZ |
Einstellungen für die Konvertierung von Snowflake nach Amazon Redshift
Um die Konvertierungseinstellungen von Snowflake nach Amazon Redshift zu bearbeiten, wählen Sie Einstellungen in AWS SCT und dann Konvertierungseinstellungen aus. Wählen Sie in der oberen Liste Snowflake und dann Snowflake — Amazon Redshift aus. AWS SCT zeigt alle verfügbaren Einstellungen für die Konvertierung von Snowflake zu Amazon Redshift an.
Die Konvertierungseinstellungen von Snowflake zu Amazon Redshift AWS SCT enthalten Optionen für Folgendes:
-
Um die Anzahl der Kommentare mit Aktionselementen im konvertierten Code zu begrenzen.
Wählen Sie für Hinzufügen von Kommentaren zum konvertierten Code für Aktionselemente mit ausgewähltem Schweregrad und höherem Schweregrad den Schweregrad der Aktionspunkte aus. AWS SCT fügt dem konvertierten Code Kommentare für Aktionspunkte mit dem ausgewählten Schweregrad und höher hinzu.
Beispiel: Um die Anzahl der Kommentare im konvertierten Code zu minimieren, wählen Sie Nur Fehler aus. Um Kommentare zu allen Aktionselementen in den konvertierten Code aufzunehmen, wählen Sie Alle Nachrichten aus.
-
Um die maximale Anzahl von Tabellen festzulegen, die für Ihren Amazon Redshift Redshift-Zielcluster gelten AWS SCT können.
Wählen Sie unter Die maximale Anzahl von Tabellen für den Amazon Redshift Redshift-Zielcluster die Anzahl der Tabellen aus, die für Ihren Amazon Redshift Redshift-Cluster gelten AWS SCT können.
Amazon Redshift verfügt über Kontingente, die die Verwendungstabellen für verschiedene Cluster-Knotentypen einschränken. Wenn Sie Auto wählen, AWS SCT bestimmt die Anzahl der Tabellen, die auf Ihren Amazon Redshift Redshift-Zielcluster angewendet werden sollen, je nach Knotentyp. Wählen Sie den Wert optional manuell aus. Weitere Informationen finden Sie unter Kontingente und Limits in Amazon Redshift im Verwaltungshandbuch zu Amazon Redshift.
AWS SCT konvertiert all Ihre Quelltabellen, auch wenn das mehr ist, als Ihr Amazon Redshift Redshift-Cluster speichern kann. AWS SCT speichert den konvertierten Code in Ihrem Projekt und wendet ihn nicht auf die Zieldatenbank an. Wenn Sie beim Anwenden des konvertierten Codes das Amazon Redshift Redshift-Clusterkontingent für die Tabellen erreichen, wird eine Warnmeldung AWS SCT angezeigt. AWS SCT Wendet außerdem Tabellen auf Ihren Amazon Redshift Redshift-Zielcluster an, bis die Anzahl der Tabellen das Limit erreicht.
-
Um die Komprimierung auf Amazon Redshift Redshift-Tabellenspalten anzuwenden. Wählen Sie dazu Kompressionskodierung verwenden aus.
AWS SCT weist Spalten mithilfe des standardmäßigen Amazon Redshift Redshift-Algorithmus automatisch eine Komprimierungskodierung zu. Weitere Informationen finden Sie unter Kompressionskodierungen im Amazon Redshift Database Developer Guide.
Standardmäßig wendet Amazon Redshift keine Komprimierung auf Spalten an, die als Sortier- und Verteilungsschlüssel definiert sind. Sie können dieses Verhalten ändern und die Komprimierung auf diese Spalten anwenden. Wählen Sie dazu die Option Komprimierungskodierung für KEY Spalten verwenden aus. Sie können diese Option nur auswählen, wenn Sie die Option Komprimierungskodierung verwenden auswählen.
Einstellungen für die Optimierung der Konvertierung von Snowflake zu Amazon Redshift
Um die Einstellungen für die Konversionsoptimierung von Snowflake zu Amazon Redshift zu bearbeiten, wählen Sie Einstellungen in AWS SCT und dann Konvertierungseinstellungen aus. Wählen Sie in der oberen Liste Snowflake und dann Snowflake — Amazon Redshift aus. Wählen Sie im linken Bereich Optimierungsstrategien aus. AWS SCT zeigt Einstellungen zur Konvertierungsoptimierung für die Konvertierung von Snowflake zu Amazon Redshift an.
Die Einstellungen zur Optimierung der Konvertierung von Snowflake zu Amazon Redshift AWS SCT beinhalten Optionen für Folgendes:
-
Um mit der automatischen Tabellenoptimierung zu arbeiten. Wählen Sie dazu die Option Automatische Tabellenoptimierung von Amazon Redshift verwenden aus.
Die automatische Tabellenoptimierung ist ein sich selbst optimierender Prozess in Amazon Redshift, der das Design von Tabellen automatisch optimiert. Weitere Informationen finden Sie unter Arbeiten mit automatischer Tabellenoptimierung im Amazon Redshift Database Developer Guide.
Wenn Sie sich nur auf die automatische Tabellenoptimierung verlassen möchten, wählen Sie für Strategie zur anfänglichen Schlüsselauswahl die Option Keine aus.
-
Um Sortier- und Verteilungsschlüssel anhand Ihrer Strategie auszuwählen.
Sie können Sortier- und Verteilungsschlüssel mithilfe von Amazon Redshift Redshift-Metadaten, statistischen Informationen oder beiden Optionen auswählen. Wählen Sie für Strategie zur ersten Schlüsselauswahl auf der Registerkarte Optimierungsstrategien eine der folgenden Optionen:
Verwenden Sie Metadaten, ignorieren Sie statistische Informationen
Ignorieren Sie Metadaten, verwenden Sie statistische Informationen
Verwenden Sie Metadaten und statistische Informationen
Je nachdem, welche Option Sie wählen, können Sie Optimierungsstrategien auswählen. Geben Sie dann für jede Strategie den Wert (0—100) ein. Diese Werte definieren das Gewicht jeder Strategie. Anhand dieser Gewichtungswerte AWS SCT wird definiert, wie sich jede Regel auf die Wahl der Verteilungs- und Sortierschlüssel auswirkt. Die Standardwerte basieren auf den bewährten Methoden für die AWS Migration.
Sie können die Größe kleiner Tabellen für die Strategie „Kleine Tabellen suchen“ definieren. Geben Sie für Min. Tabellenzeilenanzahl und Max. Tabellenzeilenanzahl die Mindest- und Höchstanzahl von Zeilen in einer Tabelle ein, um sie als kleine Tabelle zu definieren. AWS SCT wendet den
ALL
Verteilungsstil auf kleine Tabellen an. In diesem Fall wird eine Kopie der gesamten Tabelle an jeden Knoten verteilt. -
Um Strategiedetails zu konfigurieren.
Sie können nicht nur die Gewichtung für jede Optimierungsstrategie definieren, sondern auch die Optimierungseinstellungen konfigurieren. Wählen Sie dazu Konversionsoptimierung.
Geben Sie unter Limit für Sortierschlüsselspalten die maximale Anzahl von Spalten im Sortierschlüssel ein.
Geben Sie für Schrägschwellenwert den Prozentsatz (0—100) eines schiefen Werts für eine Spalte ein. AWS SCT schließt Spalten, bei denen der Schrägwert größer als der Schwellenwert ist, aus der Kandidatenliste für den Verteilungsschlüssel aus. AWS SCT definiert den schiefen Wert für eine Spalte als das prozentuale Verhältnis der Anzahl der Vorkommen des am häufigsten vorkommenden Werts zur Gesamtzahl der Datensätze.
Geben Sie für die Top N-Abfragen aus der Tabelle mit dem Abfrageverlauf die Anzahl (1—100) der am häufigsten zu analysierenden Abfragen ein.
Wählen Sie unter Statistikbenutzer auswählen den Datenbankbenutzer aus, für den Sie die Abfragestatistiken analysieren möchten.
Außerdem können Sie auf der Registerkarte Optimierungsstrategien die Größe kleiner Tabellen für die Strategie „Kleine Tabellen suchen“ definieren. Geben Sie für Min. Tabellenzeilenanzahl und Max. Tabellenzeilenanzahl die Mindest- und Höchstanzahl von Zeilen in einer Tabelle ein, um sie als kleine Tabelle zu betrachten. AWS SCT wendet den
ALL
Verteilungsstil auf kleine Tabellen an. In diesem Fall wird eine Kopie der gesamten Tabelle an jeden Knoten verteilt.