Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Ajouter des données à une RDSbase de données source (cluster de bases de données) et les interroger dans Amazon Redshift
Pour terminer la création d'une ETL intégration zéro qui réplique les données d'Amazon Amazon Redshift, vous devez créer une base de données de destination dans Amazon Redshift.
Tout d'abord, connectez-vous à votre cluster ou groupe de travail Amazon Redshift et créez une base de données avec une référence à votre identifiant d'intégration. Vous pouvez ensuite ajouter des données à votre et les voir répliquées dans Amazon Redshift.
Rubriques
Création d’une base de données de destination dans Amazon Redshift
Avant de pouvoir commencer à répliquer des données dans Amazon Redshift, après avoir créé une intégration, vous devez créer une base de données de destination dans votre entrepôt des données cible. Cette base de données de destination doit inclure une référence à l'identifiant d'intégration. Vous pouvez utiliser la console Amazon Redshift ou l'éditeur de requête v2 pour créer la base de données.
Pour obtenir des instructions sur la création d'une base de données de destination, consultez Création d'une base de données de destination dans Amazon Redshift.
Ajout de données au de base de données source
Après avoir configuré votre intégration, vous pouvez ajouter des données au que vous souhaitez répliquer dans votre entrepôt de données Amazon Redshift.
Note
Il existe des différences entre les types de données dans Amazon RDS et Amazon Redshift. Pour un tableau des mappages de types de données, consultez Différences de type de données entre les RDS et Amazon Redshift.
Connectez-vous d'abord au de base de données source à l'aide du SQL client My SQL de votre choix. Pour obtenir des instructions, consultez Connexion à une instance de base de données exécutant le moteur My SQL database.
Ensuite, créez une table et insérez une ligne d'exemples de données.
Important
Assurez-vous que la table possède une clé primaire. Sinon, elle ne peut pas être répliquée vers l'entrepôt de données cible.
L'exemple suivant utilise l'utilitaire My SQL Workbench
CREATE DATABASE
my_db
; USEmy_db
; CREATE TABLEbooks_table
(ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL, Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID)); INSERT INTObooks_table
VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
Interrogation de vos données Amazon RDS dans Amazon Redshift
Une fois que vous avez ajouté des données au , celles-ci sont répliquées dans Amazon Redshift et sont prêtes à être interrogées.
Pour interroger les données répliquées
-
Accédez à la console Amazon Redshift et choisissez Éditeur de requête v2 dans le panneau de navigation de gauche.
-
Connectez-vous à votre cluster ou groupe de travail et choisissez votre base de données de destination (que vous avez créée à partir de l'intégration) dans le menu déroulant (destination_database dans cet exemple). Pour obtenir des instructions sur la création d'une base de données de destination, consultez Création d'une base de données de destination dans Amazon Redshift.
-
Utilisez une SELECT instruction pour interroger vos données. Dans cet exemple, vous pouvez exécuter la commande suivante pour sélectionner toutes les données de la table que vous avez créée dans le :
SELECT * from
my_db
."books_table
";-
est le nom du schéma de base de données RDS.my_db
-
est le nom de la table RDS.books_table
-
Vous pouvez également interroger les données à l'aide d'un client de ligne de commande. Par exemple :
destination_database=# select * from
my_db
."books_table
"; ID | Title | Author | Copyright | Genre | txn_seq | txn_id ----+–------------+---------------+-------------+------------------------+----------+--------+ 1 | The Shining | Stephen King | 1977 | Supernatural fiction | 2 | 12192
Note
Pour appliquer la sensibilité à la casse, utilisez des guillemets doubles (« ») pour les noms de schéma, de table et de colonne. Pour plus d'informations, consultez enable_case_sensitive_identifier.
Différences de type de données entre les RDS et Amazon Redshift
Le tableau suivant montre le mappage RDS d'un type avec un type de SQL données Amazon Redshift correspondant. SQL Amazon RDS ne prend actuellement en charge que ces types de données sans aucune ETL intégration.
Si une table du de base de données de votre base de données source inclut un type de données non pris en charge, la table est désynchronisée et n'est pas consommable par la cible Amazon Redshift. Le streaming de la source vers la cible se poursuit, mais le tableau contenant le type de données non pris en charge n'est pas disponible. Pour corriger le tableau et le mettre à disposition dans Amazon Redshift, vous devez annuler manuellement le changement critique, puis actualiser l'intégration en exécutant ALTER DATABASE...INTEGRATION
REFRESH
.
RDSpour My SQL
RDSpour le type de SQL données My SQL | Type de données Amazon Redshift | Description | Limites |
---|---|---|---|
INT | INTEGER | Entier signé sur quatre octets | |
SMALLINT | SMALLINT | Entier signé sur deux octets | |
TINYINT | SMALLINT | Entier signé sur deux octets | |
MEDIUMINT | INTEGER | Entier signé sur quatre octets | |
BIGINT | BIGINT | Entier signé sur huit octets | |
INT UNSIGNED | BIGINT | Entier signé sur huit octets | |
TINYINT UNSIGNED | SMALLINT | Entier signé sur deux octets | |
MEDIUMINT UNSIGNED | INTEGER | Entier signé sur quatre octets | |
BIGINT UNSIGNED | DECIMAL(20,0) | Valeur numérique exacte avec précision sélectionnable | |
DECIMAL(p, s) = NUMERIC (p, s) | DECIMAL(p, s) | Valeur numérique exacte avec précision sélectionnable |
La précision supérieure à 38 et l'échelle supérieure à 37 ne sont pas prises en charge |
DECIMAL(p, s) UNSIGNED = NUMERIC (p, s) UNSIGNED | DECIMAL(p, s) | Valeur numérique exacte avec précision sélectionnable |
La précision supérieure à 38 et l'échelle supérieure à 37 ne sont pas prises en charge |
FLOAT4/REAL | REAL | Nombre à virgule flottante simple précision | |
FLOAT4/REAL UNSIGNED | REAL | Nombre à virgule flottante simple précision | |
DOUBLE/REAL/FLOAT8 | DOUBLE PRECISION | Nombre à virgule flottante de double précision | |
DOUBLE/REAL/FLOAT8 UNSIGNED | DOUBLE PRECISION | Nombre à virgule flottante de double précision | |
BIT(n) | VARBYTE(8) | Valeur binaire de longueur variable | |
BINARY(n) | VARBYTE(n) | Valeur binaire de longueur variable | |
VARBINARY(n) | VARBYTE(n) | Valeur binaire de longueur variable | |
CHAR(n) | VARCHAR(n) | Valeur de chaîne de longueur variable | |
VARCHAR(n) | VARCHAR(n) | Valeur de chaîne de longueur variable | |
TEXT | VARCHAR(65535) | Valeur de chaîne de longueur variable jusqu'à 65 535 octets | |
TINYTEXT | VARCHAR(255) | Valeur de chaîne de longueur variable jusqu'à 255 octets | |
MEDIUMTEXT | VARCHAR(65535) | Valeur de chaîne de longueur variable jusqu'à 65 535 octets | |
LONGTEXT | VARCHAR(65535) | Valeur de chaîne de longueur variable jusqu'à 65 535 octets | |
ENUM | VARCHAR(1020) | Valeur de chaîne de longueur variable jusqu'à 1 020 octets | |
SET | VARCHAR(1020) | Valeur de chaîne de longueur variable jusqu'à 1 020 octets | |
DATE | DATE | Date calendaire (année, mois, jour) | |
DATETIME | TIMESTAMP | Date et heure (sans fuseau horaire) | |
TIMESTAMP(p) | TIMESTAMP | Date et heure (sans fuseau horaire) | |
TIME | VARCHAR(18) | Valeur de chaîne de longueur variable jusqu'à 18 octets | |
YEAR | VARCHAR(4) | Valeur de chaîne de longueur variable jusqu'à 4 octets | |
JSON | SUPER | Données ou documents semi-structurés sous forme de valeurs |