Amazon Redshift
Database Developer Guide (API Version 2012-12-01)

Loading Data from Remote Hosts

You can use the COPY command to load data in parallel from one or more remote hosts, such Amazon EC2 instances or other computers. COPY connects to the remote hosts using SSH and executes commands on the remote hosts to generate text output.

The remote host can be an Amazon EC2 Linux instance or another Unix or Linux computer configured to accept SSH connections. This guide assumes your remote host is an Amazon EC2 instance. Where the procedure is different for another computer, the guide will point out the difference.

Amazon Redshift can connect to multiple hosts, and can open multiple SSH connections to each host. Amazon Redshifts sends a unique command through each connection to generate text output to the host's standard output, which Amazon Redshift then reads as it would a text file.

Before You Begin

Before you begin, you should have the following in place:

  • One or more host machines, such as Amazon EC2 instances, that you can connect to using SSH.

  • Data sources on the hosts.

    You will provide commands that the Amazon Redshift cluster will run on the hosts to generate the text output. After the cluster connects to a host, the COPY command runs the commands, reads the text from the hosts' standard output, and loads the data in parallel into an Amazon Redshift table. The text output must be in a form that the COPY command can ingest. For more information, see Preparing Your Input Data

  • Access to the hosts from your computer.

    For an Amazon EC2 instance, you will use an SSH connection to access the host. You will need to access the host to add the Amazon Redshift cluster's public key to the host's authorized keys file.

  • A running Amazon Redshift cluster.

    For information about how to launch a cluster, see Amazon Redshift Getting Started.

Loading Data Process

This section walks you through the process of loading data from remote hosts. The following sections provide the details you need to accomplish each step.