Aggiungere dati a un RDSdatabase di origine () e interrogarli in Amazon Redshift - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungere dati a un RDSdatabase di origine () e interrogarli in Amazon Redshift

Per completare la creazione di un'ETLintegrazione zero che replichi i dati da Amazon RDS Amazon Redshift, devi creare un database di destinazione in Amazon Redshift.

Innanzitutto, connettiti al cluster o al gruppo di lavoro Amazon Redshift e crea un database con un riferimento al tuo identificatore di integrazione. Quindi, puoi aggiungere dati al del RDSdatabase di origine e vederli replicati in Amazon Redshift.

Creazione di un database di destinazione in Amazon Redshift

Prima di poter iniziare a replicare i dati in Amazon Redshift dopo la creazione di un'integrazione, devi creare un database di destinazione nel data warehouse di destinazione. Questo database di destinazione deve includere un riferimento all'identificatore di integrazione. Puoi utilizzare la console Amazon Redshift o Editor di query v2 per creare il database.

Per istruzioni sulla creazione di un database di destinazione, consulta Creazione di un database di destinazione in Amazon Redshift.

Dopo aver configurato l'integrazione, puoi aggiungere alcuni dati al RDSdatabase del che desideri replicare nel tuo data warehouse Amazon Redshift.

Nota

Esistono differenze tra i tipi di dati in Amazon RDS Amazon e Amazon Redshift. Per una tabella di mappature dei tipi di dati, consulta Differenze tra i tipi di dati tra RDS e Amazon Redshift.

Innanzitutto, connettiti al del database di origine utilizzando il SQL client My SQL di tua scelta. Per istruzioni, consulta Connessione a un'istanza DB che esegue il motore di SQL database My.

Quindi, crea una tabella e inserisci una riga di dati di esempio.

Importante

Assicurati che la tabella abbia una chiave primaria. Altrimenti, non può essere replicata nel data warehouse di destinazione.

L'esempio seguente utilizza l'utilità My SQL Workbench.

CREATE DATABASE my_db; USE my_db; CREATE TABLE books_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 INTO books_table VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');

Interrogazione dei dati di Amazon RDS in Amazon Redshift

Dopo aver aggiunto i dati al RDSdatabase del , questi vengono replicati in Amazon Redshift e sono pronti per essere interrogati.

Esecuzione di query sui dati replicati
  1. Vai alla console Amazon Redshift e scegli Editor di query v2 nel riquadro di navigazione a sinistra.

  2. Connettiti al cluster o al gruppo di lavoro e scegli il database di destinazione (creato dall'integrazione) dal menu a tendina (destination_database in questo esempio). Per istruzioni sulla creazione di un database di destinazione, consulta Creazione di un database di destinazione in Amazon Redshift.

  3. Usa un'SELECTistruzione per interrogare i tuoi dati. In questo esempio, è possibile eseguire il comando seguente per selezionare tutti i dati dalla tabella creata nel RDSdatabase di origine del cluster :

    SELECT * from my_db."books_table";
    Esegui un'SELECTistruzione all'interno dell'editor di query Redshift. Il risultato è una singola riga di dati di esempio che è stata aggiunta al RDS database.
    • my_dbè il nome dello schema del database RDS.

    • books_tableè il nome della tabella RDS.

È inoltre possibile interrogare i dati utilizzando un client a riga di comando. Per esempio:

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
Nota

Per distinguere tra maiuscole e minuscole, usa le virgolette doppie (" ") per i nomi di schemi, tabelle e colonne. Per ulteriori informazioni, consulta enable_case_sensitive_identifier.

Differenze tra i tipi di dati tra RDS e Amazon Redshift

La tabella seguente mostra la mappatura di una SQL tabella RDS for My Postgre con un tipo di dati Amazon Redshift corrispondente. RDSAmazon attualmente supporta solo questi tipi di dati per le integrazioni zero. ETL

Se una tabella nel del database di origine include un tipo di dati non supportato, la tabella non è sincronizzata e non è utilizzabile dal target Amazon Redshift. Lo streaming dall'origine alla destinazione va avanti, ma la tabella con il tipo di dati non supportato non è disponibile. Per correggere la tabella e renderla disponibile in Amazon Redshift, devi annullare manualmente la modifica iniziale e aggiornare l'integrazione eseguendo ALTER DATABASE...INTEGRATION REFRESH.

RDSper My SQL My SQL

RDSper My SQL Tipo di dati di Amazon Redshift Descrizione Limitazioni
INT INTEGER Intero a quattro byte firmato
SMALLINT SMALLINT Intero a due byte firmato
TINYINT SMALLINT Intero a due byte firmato
MEDIUMINT INTEGER Intero a quattro byte firmato
BIGINT BIGINT Intero a otto byte firmato
INT UNSIGNED BIGINT Intero a otto byte firmato
TINYINT UNSIGNED SMALLINT Intero a due byte firmato
MEDIUMINT UNSIGNED INTEGER Intero a quattro byte firmato
BIGINT UNSIGNED DECIMAL(20,0) Numerico esatto di precisione selezionabile
DECIMAL(p, s) = NUMERIC (p, s) DECIMAL(p, s) Numerico esatto di precisione selezionabile

Precisione superiore a 38 e scala superiore a 37 non supportate

DECIMAL(p, s) UNSIGNED = NUMERIC (p, s) UNSIGNED DECIMAL(p, s) Numerico esatto di precisione selezionabile

Precisione superiore a 38 e scala superiore a 37 non supportate

FLOAT4/REAL REAL Numero in virgola mobile a precisione singola
FLOAT4/REAL UNSIGNED REAL Numero in virgola mobile a precisione singola
DOUBLE/REAL/FLOAT8 DOUBLE PRECISION Numero in virgola mobile a precisione doppia
DOUBLE/REAL/FLOAT8 UNSIGNED DOUBLE PRECISION Numero in virgola mobile a precisione doppia
BIT(n) VARBYTE(8) Valore binario a lunghezza variabile
BINARY(n) VARBYTE(n) Valore binario a lunghezza variabile
VARBINARY(n) VARBYTE(n) Valore binario a lunghezza variabile
CHAR(n) VARCHAR(n) Valore di stringa di lunghezza variabile
VARCHAR(n) VARCHAR(n) Valore di stringa di lunghezza variabile
TEXT VARCHAR(65535) Valore di stringa di lunghezza variabile fino a 65535 byte
TINYTEXT VARCHAR(255) Valore di stringa di lunghezza variabile fino a 255 byte
MEDIUMTEXT VARCHAR(65535) Valore di stringa di lunghezza variabile fino a 65535 byte
LONGTEXT VARCHAR(65535) Valore di stringa di lunghezza variabile fino a 65535 byte
ENUM VARCHAR(1020) Valore di stringa di lunghezza variabile fino a 1020 byte
SET VARCHAR(1020) Valore di stringa di lunghezza variabile fino a 1020 byte
DATE DATE Data di calendario (anno, mese, giorno)
DATETIME TIMESTAMP Data e ora (senza fuso orario)
TIMESTAMP(p) TIMESTAMP Data e ora (senza fuso orario)
TIME VARCHAR(18) Valore di stringa di lunghezza variabile fino a 18 byte
YEAR VARCHAR(4) Valore di stringa di lunghezza variabile fino a 4 byte
JSON SUPER Dati o documenti semistrutturati come valori