Carga de datos desde hosts remotos
Puede utilizar el comando COPY para cargar datos en paralelo desde uno o más alojamientos remotos, como instancias de Amazon EC2 u otros equipos. COPY se conecta a los alojamientos remotos por medio de SSH y ejecuta los comandos en los alojamientos remotos para generar texto de salida.
El alojamiento remoto puede ser una instancia de Linux de Amazon EC2 u otro equipo Linux o Unix configurado para aceptar conexiones SSH. En esta guía, se asume que su alojamiento remoto es una instancia de Amazon EC2. Cuando el procedimiento sea diferente para otro equipo, en la guía se señalará la diferencia.
Amazon Redshift puede conectarse a varios alojamientos y puede establecer varias conexiones SSH en cada alojamiento. Amazon Redshift envía un único comando a través de cada conexión para generar el texto que aparecerá en la salida estándar del alojamiento, que Amazon Redshift leerá después como cualquier otro archivo de texto.
Antes de empezar
Antes de empezar, debe haber implementado lo siguiente:
-
Uno o más equipos de alojamiento, como las instancias de Amazon EC2, a los que puede conectarse mediante SSH.
-
Orígenes de datos en los hosts.
Proporcionará comandos que el clúster de Amazon Redshift ejecutará en los alojamientos para generar el texto de salida. Una vez que el clúster se conecta a un alojamiento, el comando COPY ejecuta los comandos, lee el texto de la salida estándar de los alojamientos y carga los datos en paralelo en una tabla de Amazon Redshift. El texto de salida debe tener un formato que el comando COPY pueda incorporar. Para obtener más información, consulte Preparación de los datos de entrada
-
Obtenga acceso a los hosts desde su equipo.
En caso de una instancia de Amazon EC2, usará una conexión SSH para obtener acceso al alojamiento. Debe acceder al host para agregar la clave pública del clúster de Amazon Redshift al archivo de claves autorizadas del host.
-
Un clúster de Amazon Redshift en ejecución.
Para obtener información acerca de cómo lanzar un clúster, consulte Guía de introducción a Amazon Redshift.
Proceso de carga de datos
En esta sección, se detalla el proceso de carga de datos desde hosts remotos. En las siguientes secciones, se proporcionan los detalles que debe completar en cada paso.
-
Paso 1: Recuperar la clave pública del clúster y las direcciones IP del nodo del clúster
La clave pública permite a los nodos del clúster de Amazon Redshift establecer conexiones SSH a los alojamientos remotos. Usará la dirección IP para cada nodo del clúster con el fin de configurar el firewall o los grupos de seguridad del alojamiento para que permitan obtener acceso desde su clúster de Amazon Redshift con esas direcciones IP.
-
Debe agregar la clave pública del clúster de Amazon Redshift al archivo de claves autorizadas del alojamiento para que este último reconozca el clúster de Amazon Redshift y acepte la conexión SSH.
-
Para Amazon EC2, modifique los grupos de seguridad de la instancia para agregar reglas de entrada que acepten las direcciones IP de Amazon Redshift. En caso de otros alojamientos, modifique el firewall de modo que los nodos de Amazon Redshift puedan establecer conexiones SSH al alojamiento remoto.
-
Paso 4: Obtener la clave pública para el host
De manera alternativa, puede especificar que Amazon Redshift debe usar la clave pública para identificar el alojamiento. Debe localizar la clave pública y copiar el texto en el archivo de manifiesto.
-
Paso 5: Crear un archivo de manifiesto
El manifiesto es un archivo de texto con formato JSON que tiene la información que Amazon Redshift necesita para conectarse a los alojamientos y obtener los datos.
-
Paso 6: Cargar el archivo de manifiesto en un bucket de Amazon S3
Amazon Redshift lee el manifiesto y usa esa información para conectarse al alojamiento remoto. Si el bucket de Amazon S3 no se encuentra en la misma región que el clúster de Amazon Redshift, debe usar la opción REGION para especificar la región en la que se encuentran los datos.
-
Paso 7: Ejecutar el comando COPY para cargar los datos
Ejecute el comando COPY desde una base de datos de Amazon Redshift para cargar los datos en una tabla de Amazon Redshift.