Paso 4: Cargar datos desde Amazon S3 en Amazon Redshift
Después de crear el clúster, puede cargar datos desde Amazon S3 en las tablas de la base de datos. Hay varias maneras de cargar datos desde Amazon S3.
Puede usar un cliente de SQL para ejecutar el comando de SQL CREATE TABLE para crear una tabla en la base de datos y, a continuación, usar el comando de SQL COPY para cargar datos desde Amazon S3. El editor de consultas de Amazon Redshift v2 es un cliente de SQL.
Puede utilizar el asistente de carga del editor de consultas de Amazon Redshift v2.
En primer lugar, en este tutorial se muestra cómo utilizar el editor de consultas de Amazon Redshift v2 para ejecutar comandos de SQL CREATE para crear tablas y COPY para copiar datos. Inicie el Editor de consultas v2 desde el panel de navegación de la consola de Amazon Redshift. En el editor de consultas v2, cree una conexión con el clúster de examplecluster
y la base de datos denominada dev
con el nombre de su usuario administrador awsuser
. Para este tutorial, elija Credenciales temporales con un nombre de usuario de base de datos al crear la conexión. Para obtener información sobre cómo utilizar el editor de consultas de Amazon Redshift v2, consulte Conexión a una base de datos de Amazon Redshift en la Guía de administración de Amazon Redshift.
Carga de datos desde Amazon S3 mediante comandos de SQL
En el panel del editor de consultas v2, confirme que está conectado al clúster de examplecluster
y a la base de datos de dev
. A continuación, cree tablas en la base de datos y cargue datos en las tablas. Para este tutorial, los datos que se cargan están disponibles en un bucket de Amazon S3 al que se puede acceder desde muchas Regiones de AWS.
En el siguiente procedimiento, se crean tablas y se cargan datos desde un bucket de Amazon S3 público.
Si utiliza el editor de consultas de Amazon Redshift v2, copie y ejecute la siguiente instrucción de creación de tablas para crear una tabla en el esquema public
de la base de datos dev
. Para obtener más información acerca de la sintaxis, consulte CREATE TABLE en la Guía para desarrolladores de bases de datos de Amazon Redshift.
Creación y carga de datos mediante un cliente de SQL como el editor de consultas v2
-
Ejecute el siguiente comando de SQL CREATE para crear la tabla
sales
.drop table if exists sales;
create table sales( salesid integer not null, listid integer not null distkey, sellerid integer not null, buyerid integer not null, eventid integer not null, dateid smallint not null sortkey, qtysold smallint not null, pricepaid decimal(8,2), commission decimal(8,2), saletime timestamp);
-
Ejecute el siguiente comando de SQL CREATE para crear la tabla
date
.drop table if exists date;
create table date( dateid smallint not null distkey sortkey, caldate date not null, day character(3) not null, week smallint not null, month character(5) not null, qtr character(5) not null, year smallint not null, holiday boolean default('N'));
-
Cargue la tabla
sales
desde Amazon S3 con el comando COPY.nota
Le recomendamos utilizar el comando COPY para cargar grandes conjuntos de datos en Amazon Redshift desde Amazon S3. Para obtener más información acerca de la sintaxis de COPY, consulte COPY en la Guía para desarrolladores de bases de datos de Amazon Redshift.
Proporcione autenticación para que el clúster acceda a Amazon S3 en su nombre para cargar los datos de muestra. Para este paso, deberá proporcionar autenticación mediante la referencia al rol de IAM que creó y configuró como
default
en su clúster cuando seleccionó Crear un rol de IAM como predeterminado al crear el clúster.Cargue la tabla
sales
con el siguiente comando de SQL. Si lo desea, puede descargar y ver desde Amazon S3 los datos de origen para la tablasales
. . COPY sales FROM 's3://redshift-downloads/tickit/sales_tab.txt' DELIMITER '\t' TIMEFORMAT 'MM/DD/YYYY HH:MI:SS' REGION 'us-east-1' IAM_ROLE default;
-
Cargue la tabla
date
con el siguiente comando de SQL. Si lo desea, puede descargar y ver desde Amazon S3 los datos de origen para la tabladate
. . COPY date FROM 's3://redshift-downloads/tickit/date2008_pipe.txt' DELIMITER '|' REGION 'us-east-1' IAM_ROLE default;
Carga de datos desde Amazon S3 mediante el editor de consultas v2
El uso del editor de consultas v2 simplifica la carga de datos cuando se utiliza el asistente Cargar datos. El comando COPY generado y utilizado en el asistente Cargar datos del editor de consultas v2 admite todos los parámetros disponibles para la sintaxis del comando COPY para cargar datos de Amazon S3. Para obtener información acerca del comando COPY y las opciones que se utilizan para copiar la carga de Amazon S3, consulte Comando COPY de Amazon Simple Storage Service en la Guía para el desarrollador de base de datos de Amazon Redshift.
Para cargar sus propios datos de Amazon S3 en Amazon Redshift, Amazon Redshift, requiere un rol de IAM que tenga los privilegios necesarios para cargar datos del bucket de Amazon S3 especificado.
Para este tutorial, en primer lugar, abra el editor de consultas de Amazon Redshift v2 y conéctese a una base de datos. A continuación, cree la tabla que contendrá los datos cargados. Luego, cargue sus propios datos desde Amazon S3 en Amazon Redshift. Para obtener más información sobre cómo trabajar con el editor de consultas v2, consulte Descarga de datos en una base de datos en la Guía de administración de Amazon Redshift.
Creación de datos de TICKIT en su clúster
Puede crear el conjunto completo de tablas de TICKIT y cargar datos en su clúster de las siguientes maneras:
Cuando se crea un clúster en la consola de Amazon Redshift, en ese momento tiene la opción cargar datos de TICKIT de muestra al mismo tiempo. En la consola de Amazon Redshift, elija Clústeres y Crear clúster. En la sección Datos de muestra, seleccione Cargar datos de muestra. Amazon Redshift cargará automáticamente el conjunto de datos de muestra en la base de datos
dev
del clúster de Amazon Redshift durante la creación del clúster.Con el editor de consultas de Amazon Redshift v2, puede cargar datos de TICKIT en una base de datos de muestra denominada sample_data_dev. Vaya a la base de datos sample_data_dev, luego a tickit y, en el menú contextual, elija Abrir cuadernos de muestra. El editor de consultas de Amazon Redshift v2 crea la base de datos de muestra junto con un cuaderno de ejemplo denominado tickit-sample-notebook. Puede ejecutar este cuaderno para consultar los datos de la base de datos de muestra.
Para ver más información sobre los datos de TICKIT, consulte Bases de datos de muestra en la Guía para desarrolladores de bases de datos de Amazon Redshift.