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.
Verwendung von Snowflake als Quelle für AWS SCT
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 die Platzhalter im vorherigen Beispiel wie folgt:
-
Ersetzen Sie
es durch den Namen einer Rolle mit schreibgeschützten Rechten.role_name
-
Ersetzen Sie durch den Namen der Quelldatenbank.db_name
-
Ersetzen Sie durch den Namen des Quellschemas.schema_name
-
Ersetzen Sie es durch den Namen eines erforderlichen Data Warehouse.datawarehousename
-
Ersetzen Sie es durch den Namen eines Benutzers mit minimalen Rechten.min_privs
Die DEFAULT_WAREHOUSE
Parameter DEFAULT_ROLE
und sind schlüsselsensitiv.
Konfiguration des sicheren Zugriffs auf Amazon S3
Sicherheits- und Zugriffsverwaltungsrichtlinien für einen Amazon S3-Bucket ermöglichen es Snowflake, auf Daten zuzugreifen, Daten aus dem S3-Bucket zu lesen und in diesen zu schreiben. Sie können den sicheren Zugriff auf einen privaten Amazon S3-Bucket mithilfe des STORAGE INTEGRATION
Snowflake-Objekttyps konfigurieren. Ein Snowflake-Speicherintegrationsobjekt delegiert die Authentifizierungsverantwortung 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 herzustellenAWS Schema Conversion Tool.
So stellen Sie eine Verbindung zu einer Snowflake-Quelldatenbank her
-
Wählen Sie in der AWS Schema Conversion Tool Quelle hinzufügen aus.
-
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 SCTzeigt diesen Namen in der Baumstruktur im linken Bereich an.
-
Verwenden Sie Datenbankanmeldeinformationen von AWS Secrets Manager oder geben Sie sie manuell ein:
-
Gehen Sie wie folgt vor, um die Datenbankanmeldeinformationen von Secrets Manager zu verwenden:
-
Wählen Sie für AWSGeheim den Namen des Geheimnisses.
-
Wählen Sie Auffüllen, um automatisch alle Werte im Datenbankverbindungsdialogfeld von Secrets Manager auszufüllen.
Hinweise zur Verwendung von Datenbankanmeldeinformationen von Secrets Manager finden Sie unterVerwenden von AWS Secrets Manager.
-
-
Gehen Sie wie folgt vor, um die Verbindungsinformationen für das Snowflake-Quell-Data Warehouse manuell einzugeben:
Parameter Action Server name Geben Sie den DNS-Namen (Domain Name System) oder die IP-Adresse Ihres Quelldatenbankservers ein.
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 Datenbankanmeldeinformationen ein, um eine Verbindung zu Ihrem Quelldatenbankserver herzustellen.
AWS SCTspeichert Ihr Passwort nur dann in einem verschlüsselten Format, wenn Sie es ausdrücklich anfordern.
Use SSL Wählen Sie diese Option, wenn Sie Secure Sockets Layer (SSL) verwenden möchten, um eine Verbindung zu Ihrer Datenbank herzustellen. Geben Sie gegebenenfalls die folgenden zusätzlichen Informationen auf der Registerkarte SSL an:
-
Pfad des privaten Schlüssels: Der Speicherort eines privaten Schlüssels.
-
Passphrase: Die Passphrase für den privaten Schlüssel.
Weitere Informationen zur SSL-Unterstützung für Snowflake finden Sie unter Konfigurieren von Sicherheitsoptionen für Verbindungen.
Passwort speichern AWS SCT erstellt einen sicheren Bereich, um SSL-Zertifikate und Datenbankpasswörter zu speichern. 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 Herunterladen der erforderlichen Datenbanktreiber.
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 Verbinden, 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. Für 8 große Cluster-Knotentypen beträgt die maximale Anzahl von Tabellen 100.000. Das Limit umfasst temporäre Tabellen, die sowohl benutzerdefiniert als auch 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-Ziel.
Snowflake-Datentypen | Amazon Redshift-Datentypen |
---|---|
NUMBER |
NUMERISCH (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) |
ZAHL (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: NUMERISCH (p,0) |
ZAHL (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 (MAXIMAL) |
TEXT (p) Unicode-Zeichen bis zu 65.535 Byte; bis zu 4 Byte pro Zeichen. |
Wenn p =< 65.535 ist, dann ist VARCHAR (p) |
TEXT (p) Unicode-Zeichen bis zu 16.777.216 Byte; bis zu 4 Byte pro Zeichen. |
Wenn p => 65.535 ist und =< 16.777.216 dann, VARCHAR (MAX) |
BINARY Einzelbyte-Zeichen bis zu 8.388.608 Byte; 1 Byte pro Zeichen. |
VARCHAR (MAXIMAL) |
BINÄR (p) Einzelbyte-Zeichen bis zu 65.535 Byte; 1 Byte pro Zeichen. |
VARCHAR (p) |
BINÄR (p) Einzelbyte-Zeichen bis zu 8.388.608 Byte; 1 Byte pro Zeichen. |
VARCHAR (MAXIMAL) |
BOOLEAN |
BOOLEAN |
DATUM |
DATUM |
TIME Zeitwerte zwischen 00:00:00 und 23:59:59.999 999999. |
VARCHAR (18) |
ZEIT (f) Zeitwerte zwischen 00:00:00 und 23:59:59:59 (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 in Amazon Redshift zu bearbeiten, wählen Sie Einstellungen in AWS SCT und dann Konvertierungseinstellungen. Wählen Sie in der oberen Liste Snowflake und dann Snowflake — Amazon Redshift aus. AWS SCTzeigt alle verfügbaren Einstellungen für die Konvertierung von Snowflake nach Amazon Redshift an.
Die Konvertierungseinstellungen von Snowflake nach Amazon Redshift AWS SCT beinhalten Optionen für Folgendes:
-
Um die Anzahl der Kommentare mit Aktionselementen im konvertierten Code zu begrenzen.
Wählen Sie unter Kommentare im konvertierten Code für die Aktionspunkte mit dem ausgewählten Schweregrad und höher den Schweregrad der Aktionspunkte aus. AWS SCTfügt dem konvertierten Code Kommentare für Aktionspunkte mit dem ausgewählten Schweregrad und höher hinzu.
Um beispielsweise die Anzahl der Kommentare in Ihrem konvertierten Code zu minimieren, wählen Sie Nur Fehler aus. Um Kommentare zu allen Aktionselementen in Ihren konvertierten Code aufzunehmen, wählen Sie Alle Nachrichten.
-
Um die maximale Anzahl von Tabellen festzulegen, die für Ihren Amazon Redshift-Zielcluster gelten AWS SCT können.
Wählen Sie unter Die maximale Anzahl von Tabellen für den Amazon Redshift-Cluster die Anzahl der Tabellen aus, die für Ihren Amazon Redshift-Cluster gelten AWS SCT können.
Amazon Redshift verfügt über Kontingente, die die Verwendung von Tabellen für verschiedene Cluster-Knotentypen einschränken. Wenn Sie Auto wählen, AWS SCT bestimmt es je nach Knotentyp die Anzahl der Tabellen, die auf Ihren Amazon Redshift-Ziel-Cluster angewendet werden sollen. 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 SCTkonvertiert alle Ihre Quelltabellen, auch wenn dies mehr ist, als Ihr Amazon Redshift-Cluster speichern kann. AWS SCTspeichert den konvertierten Code in Ihrem Projekt und wendet ihn nicht auf die Zieldatenbank an. Wenn Sie bei der Anwendung des konvertierten Codes das Amazon Redshift-Cluster-Kontingent für die Tabellen erreichen, wird eine Warnmeldung AWS SCT angezeigt. AWS SCTWendet Tabellen außerdem auf Ihren Amazon Redshift-Zielcluster an, bis die Anzahl der Tabellen das Limit erreicht.
-
Um die Komprimierung auf Amazon Redshift-Tabellenspalten anzuwenden. Wählen Sie dazu die Option Kompressionskodierung verwenden aus.
AWS SCTweist Spalten mithilfe des standardmäßigen Amazon Redshift-Algorithmus automatisch eine Kompressionskodierung 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 Kompressionskodierung für KEY-Spalten verwenden aus. Sie können diese Option nur auswählen, wenn Sie die Option Kompressionskodierung verwenden ausgewählt haben.
Einstellungen für die Konvertierungsoptimierung von Snowflake nach Amazon Redshift
Um die Einstellungen für die Konvertierungsoptimierung von Snowflake in Amazon Redshift zu bearbeiten, wählen Sie Einstellungen in AWS SCT und dann Konvertierungseinstellungen. Wählen Sie in der oberen Liste Snowflake und dann Snowflake — Amazon Redshift aus. Wählen Sie im linken Bereich Optimierungsstrategien aus. AWS SCTzeigt die Einstellungen zur Konvertierungsoptimierung für die Konvertierung von Snowflake nach Amazon Redshift an.
Die Einstellungen für die Konversionsoptimierung von Snowflake nach Amazon Redshift AWS SCT beinhalten Optionen für Folgendes:
-
Um mit der automatischen Tabellenoptimierung zu arbeiten. Wählen Sie dazu die automatische Tabellenoptimierung von Amazon Redshift verwenden aus.
Die automatische Tabellenoptimierung ist ein Selbstoptimierungsprozess 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 „Keine“ als Strategie für die anfängliche Schlüsselauswahl aus.
-
Um die Sortier- und Verteilungsschlüssel anhand Ihrer Strategie auszuwählen.
Sie können mithilfe von Amazon Redshift-Metadaten, statistischen Informationen oder diesen beiden Optionen Sortier- und Verteilungsschlüssel auswählen. Wählen Sie auf der Registerkarte Optimierungsstrategien für die erste Schlüsselauswahlstrategie eine der folgenden Optionen aus:
Metadaten verwenden, statistische Informationen ignorieren
Metadaten ignorieren, statistische Informationen verwenden
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. AWS SCTDefiniert anhand dieser Gewichtungswerte, 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 finden definieren. Geben Sie für Min. Tabellenzeilenanzahl und Max. Tabellenzeilenanzahl die minimale und maximale Anzahl von Zeilen in einer Tabelle ein, um sie als kleine Tabelle zu definieren. AWS SCTwendet 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 das Gewicht für jede Optimierungsstrategie definieren, sondern auch die Optimierungseinstellungen konfigurieren. Wählen Sie dazu Konversionsoptimierung.
Geben Sie im Feld Sortierschlüsselspaltenlimit die maximale Anzahl von Spalten in den Sortierschlüssel ein.
Geben Sie für schiefen Schwellenwert den Prozentsatz (0—100) eines schiefen Werts für eine Spalte ein. AWS SCTschließt Spalten, deren Verzerrungswert größer als der Schwellenwert ist, aus der Liste der Kandidaten für den Verteilungsschlüssel aus. AWS SCTdefiniert den schiefen Wert für eine Spalte als das prozentuale Verhältnis der Anzahl der Vorkommen des häufigsten 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.
Auf der Registerkarte Optimierungsstrategien können Sie auch die Größe kleiner Tabellen für die Strategie Kleine Tabellen suchen definieren. Geben Sie für Minimale Tabellenzeilenanzahl und Maximale Tabellenzeilenanzahl die minimale und maximale Anzahl von Zeilen in einer Tabelle ein, um sie als kleine Tabelle zu betrachten. AWS SCTwendet den
ALL
Verteilungsstil auf kleine Tabellen an. In diesem Fall wird eine Kopie der gesamten Tabelle an jeden Knoten verteilt.