Configuración y flujo de trabajo de la carga de datos desde un archivo local - Amazon Redshift

Configuración y flujo de trabajo de la carga de datos desde un archivo local

Puede cargar datos de un archivo local en una tabla existente o nueva.

Configuración del administrador para cargar datos desde un archivo local

El administrador del editor de consultas v2 debe especificar el bucket común de Amazon S3 en la ventana de Account settings (Configuración de la cuenta). Los usuarios de la cuenta deben estar configurados con los permisos adecuados.

  • Permisos de IAM requeridos: los usuarios de carga desde archivo local deben tener los permisos s3:ListBucket, s3:GetBucketLocation, s3:putObject, s3:getObject y s3:deleteObject. El optional-prefix se puede especificar para limitar el uso de este bucket relacionado con el editor de consultas v2 a los objetos con este prefijo. Puede utilizar esta opción cuando utilice este mismo bucket de Amazon S3 para usos distintos del editor de consultas v2. Para obtener más información sobre los buckets y los prefijos, consulte Administración del acceso de los usuarios a carpetas específicas en la Guía del usuario de Amazon Simple Storage Service. Para asegurarse de que no se permita el acceso a los datos entre usuarios, recomendamos que el administrador del editor de consultas v2 utilice una política de bucket de Amazon S3 para restringir el acceso a los objetos en función de aws:userid. El siguiente ejemplo permite los permisos de Amazon S3 a un <staging-bucket-name> con acceso de lectura o escritura solo a los objetos de Amazon S3 con aws:userid como prefijo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<staging-bucket-name>" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*" ] } ] }
  • Separación de datos: recomendamos que los usuarios no tengan acceso a los datos de los demás (ni siquiera de forma breve). La carga desde un archivo local utiliza el bucket de Amazon S3 transitorio configurado por el administrador del editor de consultas v2. Configure la política de bucket para el bucket transitorio a fin de proporcionar una separación de datos entre los usuarios. El siguiente ejemplo muestra una política de bucket que separa los datos entre los usuarios del <staging-bucket-name>.

    { "Version": "2012-10-17", "Statement": [ {"Sid": "userIdPolicy", "Effect": "Deny", "Principal": "*", "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"], "NotResource": [ "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*" ] } ] }

Carga de datos desde un archivo local

Para cargar datos de archivo local en una tabla existente

El administrador del editor de consultas v2 debe especificar el bucket de Amazon S3 común en la ventana Configuración de la cuenta. El editor de consultas v2 carga automáticamente el archivo local en un bucket de Amazon S3 común utilizado por la cuenta y, a continuación, utiliza el comando COPY para cargar los datos. El comando COPY generado y ejecutado por la ventana de archivo local de carga del editor de consultas v2 admite mucho parámetros disponibles para la sintaxis del comando COPY para copiar desde Amazon S3. Para obtener información sobre el comando COPY y sus opciones utilizadas para cargar datos desde Amazon S3, consulte COPY desde Amazon S3 en la Guía para desarrolladores de bases de datos de Amazon Redshift.

  1. Confirme que la tabla ya esté creada en la base de datos en la que desea cargar datos.

  2. Confirme que está conectado a la base de datos de destino en el panel de vista de árbol del editor de consultas v2. Puede crear una conexión con el menú de contexto (botón derecho) al clúster o grupo de trabajo en el que se cargarán los datos.

  3. Elija LoadLoad data (Cargar datos).

  4. Para Data source (Origen de datos), elija Load from local file (Cargar desde archivo local).

  5. Elija Examinar para encontrar el archivo que contiene los datos para Cargar el archivo CSV. De forma predeterminada, se muestran los archivos con la extensión .csv, .avro, .parquet y .orc, pero puede elegir otros tipos de archivo. El tamaño de archivo máximo es de 100 MB.

  6. Elija el File format (Formato de archivo) para el archivo que se va a cargar. Los formatos de datos admitidos son CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET y ORC. En función del formato de archivo especificado, puede elegir las File options (Opciones de archivo) correspondientes. También puede seleccionar Data is encrypted (Los datos están cifrados) si los datos están cifrados e ingresar el nombre de recurso de Amazon (ARN) de la clave KMS utilizada para cifrar los datos.

    Si elige CSV o DELIMITER, también puede seleccionar el Carácter delimitador y si desea Ignorar filas del encabezado en caso de que el número especificado de filas sean en realidad nombres de columnas y no datos para cargar.

  7. (Opcional) En Advanced settings (Configuración avanzada) se admiten varios Data conversion parameters (Parámetros de conversión de datos) y Load operations (Operaciones de carga). Ingrese esta información según sea necesario para su archivo.

    Para obtener más información sobre los parámetros de conversión de datos y carga de datos, consulte Parámetros de conversión de datos y Operaciones de carga de datos en la Guía para desarrolladores de bases de datos de Amazon Redshift.

  8. Elija Siguiente.

  9. Seleccione Cargar tabla existente.

  10. Confirme o elija la ubicación de la Target table (Tabla de destino) incluido el nombre de Cluster or workgroup (Clúster o grupo de trabajo), la Database (Base de datos), el Schema (Esquema) y la Table (Tabla) donde se cargan los datos.

  11. (Opcional) Puede elegir los nombres de las columnas para ingresar en el Column mapping (Mapeo de columnas) para mapear las columnas en el orden del archivo de datos de entrada.

  12. Elija Load data (Cargar datos) para iniciar la carga de datos.

    Cuando se complete la carga, aparecerá un mensaje si la carga se ha realizado correctamente o no. Si tiene éxito, podrá utilizar SQL para seleccionar datos de la tabla cargada. Si hay un error, consulte la vista de sistema STL_LOAD_ERRORS para obtener más detalles. Para obtener más información sobre los errores del comando COPY, consulte STL_LOAD_ERRORS en la Guía para desarrolladores de bases de datos de Amazon Redshift.

    La plantilla de comandos COPY que se usó para cargar datos aparece en el Query history (Historial de consultas). Esta plantilla de comandos COPY muestra algunos de los parámetros utilizados, pero no se puede ejecutar directamente en una pestaña del editor. Para obtener más información acerca del historial de consultas, consulte Visualización del historial de consultas y pestañas.

Al cargar datos en una tabla nueva, el editor de consultas v2 crea primero la tabla en la base de datos y, después, carga los datos como acciones independientes en el mismo flujo de trabajo.

Para cargar datos de archivo local en una tabla nueva

El administrador del editor de consultas v2 debe especificar el bucket común de Amazon S3 en la ventana de Account settings (Configuración de la cuenta). El archivo local se carga automáticamente en un bucket de Amazon S3 común utilizado por la cuenta y, a continuación, el editor de consultas v2 utiliza el comando COPY para cargar datos. El comando COPY generado y ejecutado por la ventana de archivo local de carga del editor de consultas v2 admite mucho parámetros disponibles para la sintaxis del comando COPY para copiar desde Amazon S3. Para obtener información sobre el comando COPY y sus opciones utilizadas para cargar datos desde Amazon S3, consulte COPY desde Amazon S3 en la Guía para desarrolladores de bases de datos de Amazon Redshift.

  1. Confirme que está conectado a la base de datos de destino en el panel de vista de árbol del editor de consultas v2. Puede crear una conexión con el menú de contexto (botón derecho) al clúster o grupo de trabajo en el que se cargarán los datos.

  2. Elija LoadLoad data (Cargar datos).

  3. Para Data source (Origen de datos), elija Load from local file (Cargar desde archivo local).

  4. Elija Examinar para encontrar el archivo que contiene los datos para Cargar el archivo CSV. De forma predeterminada, se muestran los archivos con la extensión .csv, .avro, .parquet y .orc, pero puede elegir otros tipos de archivo. El tamaño de archivo máximo es de 100 MB.

  5. Elija el File format (Formato de archivo) para el archivo que se va a cargar. Los formatos de datos admitidos son CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET y ORC. En función del formato de archivo especificado, puede elegir las File options (Opciones de archivo) correspondientes. También puede seleccionar Data is encrypted (Los datos están cifrados) si los datos están cifrados e ingresar el nombre de recurso de Amazon (ARN) de la clave KMS utilizada para cifrar los datos.

    Si elige CSV o DELIMITER, también puede seleccionar el Carácter delimitador y si desea Ignorar filas del encabezado en caso de que el número especificado de filas sean en realidad nombres de columnas y no datos para cargar.

  6. (Opcional) En Advanced settings (Configuración avanzada) se admiten varios Data conversion parameters (Parámetros de conversión de datos) y Load operations (Operaciones de carga). Ingrese esta información según sea necesario para su archivo.

    Para obtener más información sobre los parámetros de conversión de datos y carga de datos, consulte Parámetros de conversión de datos y Operaciones de carga de datos en la Guía para desarrolladores de bases de datos de Amazon Redshift.

  7. Elija Siguiente.

  8. Seleccione Cargar nueva tabla.

  9. Confirme o elija la ubicación de la Tabla de destino incluido el Clúster o grupo de trabajo, la Base de datos, el Esquema y la Tabla donde se cargan los datos. Introduzca el nombre de la Tabla que se va a crear.

  10. Elija Crear tabla para crear la tabla con la definición mostrada.

    Se muestra un resumen de la definición de la tabla. La tabla se crea en la base de datos. Para eliminar la tabla más adelante, ejecute el comando SQL DROP TABLE. Para obtener más información, consulte DROP TABLE en la Guía para desarrolladores de bases de datos de Amazon Redshift.

  11. Elija Load data (Cargar datos) para iniciar la carga de datos.

    Cuando se complete la carga, aparecerá un mensaje que indica si la carga se realizó correctamente o no. Si tiene éxito, podrá utilizar SQL para seleccionar datos de la tabla cargada. Si hay un error, consulte la vista de sistema STL_LOAD_ERRORS para obtener más detalles. Para obtener más información sobre los errores del comando COPY, consulte STL_LOAD_ERRORS en la Guía para desarrolladores de bases de datos de Amazon Redshift.

    La plantilla de comandos COPY que se usó para cargar datos aparece en el Query history (Historial de consultas). Esta plantilla de comandos COPY muestra algunos de los parámetros utilizados, pero no se puede ejecutar directamente en una pestaña del editor. Para obtener más información acerca del historial de consultas, consulte Visualización del historial de consultas y pestañas.