Operaciones de carga de datos - Amazon Redshift

Operaciones de carga de datos

Administre el comportamiento predeterminado de la operación de carga para solucionar problemas o reducir los tiempos de carga especificando los siguientes parámetros.

Parámetros
COMPROWS numrows

Especifica la cantidad de filas que se usarán como el tamaño de muestra para el análisis de compresión. El análisis se ejecuta sobre las filas de cada sector de datos. Por ejemplo, si especifica COMPROWS 1000000 (1 000 000) y el sistema contiene cuatro sectores totales, se leen y analizan no más de 250 000 filas por cada sector.

Si no se especifica COMPROWS, el tamaño de muestra se establece de manera predeterminada en 100 000 en cada sector. Los valores de COMPROWS inferiores al valor predeterminado de 100 000 filas por cada sector se actualizan automáticamente al valor predeterminado. No obstante, la compresión automática no tendrá lugar si la cantidad de datos que se carga es insuficiente para producir una muestra significativa.

Si el número de COMPROWS es superior a la cantidad de filas del archivo de entrada, el comando COPY avanza y ejecuta el análisis de compresión en todas las filas disponibles. El rango aceptado para este argumento es un número entre 1000 y 2147483647 (2 147 483 647).

COMPUPDATE [PRESET | { ON | TRUE } | { OFF | FALSE } ]

Controla que las codificaciones de compresión se apliquen automáticamente durante un comando COPY.

Cuando COMPUPDATE está preestablecido, el comando COPY selecciona la codificación de compresión para cada columna si la tabla de destino está vacía, incluso si las columnas ya tienen codificaciones distintas de RAW. Actualmente, es posible reemplazar las codificaciones de las columnas especificadas. La codificación de cada columna se basa en el tipo de dato de la columna. No se realiza un muestreo de los datos. Amazon Redshift asigna de forma automática la codificación de compresión de la siguiente manera:

  • A las columnas que están definidas como claves de ordenación se les asigna una compresión RAW.

  • A las columnas que están definidas como tipos de datos BOOLEAN, REAL o DOUBLE PRECISION se les asigna una compresión RAW.

  • Las columnas que se definen como SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIMESTAMP o TIMESTAMPTZ tienen asignada la compresión AZ64.

  • Las columnas que se definen como CHAR o VARCHAR tienen asignada la compresión LZO.

Cuando se omite COMPUPDATE, el comando COPY elige la codificación de compresión de cada columna solo si la tabla de destino está vacía y no se ha especificado una codificación (distinta de RAW) para ninguna de las columnas. Amazon Redshift determina la codificación de cada columna. No se realiza un muestreo de los datos.

Cuando COMPUPDATE está establecido en ON (o TRUE), o cuando se especifica COMPUDATE sin una opción, el comando COPY aplica la compresión automática si la tabla está vacía, aunque las columnas de la tabla ya tengan codificaciones diferentes a RAW. Actualmente, es posible reemplazar las codificaciones de las columnas especificadas. La codificación de cada columna se basa en un análisis de los datos de muestra. Para obtener más información, consulte Carga de tablas con compresión automática.

Cuando COMPUPDATE está establecido en OFF (o FALSE), se deshabilita la compresión automática. Las codificaciones de las columnas no cambian.

Para obtener información sobre la tabla del sistema para analizar la compresión, consulte STL_ANALYZE_COMPRESSION.

IGNOREALLERRORS

Puede especificar esta opción para ignorar todos los errores que se produzcan durante la operación de carga.

No se puede especificar la opción IGNOREALLERRORS si ya se ha especificado la opción MAXERROR. No se puede especificar la opción IGNOREALLERRORS para formatos de columnas, tales como ORC y Parquet.

MAXERROR [AS] error_count

Si la carga devuelve la cantidad de errores especificada en error_count (número_de_errores) o una cantidad mayor, la carga no se realiza correctamente. Si la carga devuelve menos errores, continúa y devuelve un mensaje INFO que establece el número de filas que no se pudieron cargar. Utilice este parámetro para permitir que las cargas continúen cuando determinadas filas no puedan cargarse en la tabla a causa de errores de formato u otras inconsistencias de los datos.

Establezca este valor en 0 o 1 si desea que la carga falle en el momento que suceda el primer error. La palabra clave AS es opcional. El valor predeterminado de MAXERROR es 0 y el límite 100000.

El número real de errores notificados puede ser mayor que el MAXERROR especificado debido a la naturaleza paralela de Amazon Redshift. Si algún nodo del clúster de Amazon Redshift detecta que MAXERROR se ha superado, cada nodo notifica todos los errores que ha encontrado.

NOLOAD

Verifica la validez de los archivos de datos sin cargar los datos realmente. Utilice el parámetro NOLOAD para asegurar que los archivos de datos se cargan sin errores antes de ejecutar la carga de datos real. La ejecución de COPY con el parámetro NOLOAD es mucho más rápida que la carga de datos ya que solo analiza los archivos.

STATUPDATE [ { ON | TRUE } | { OFF | FALSE } ]

Controla la actualización y los cálculos automáticos de las estadísticas del optimizador al final de un COPY correcto. De manera predeterminada, cuando el parámetro STATUPDATE no se utiliza, las estadísticas se actualizan de forma automática si inicialmente la tabla está vacía.

Siempre que una inserción de datos en una tabla que no esté vacía cambie el tamaño de la tabla significativamente, le recomendamos actualizar las estadísticas con la ejecución de un comando ANALYZE o mediante el argumento STATUPDATE ON.

Con STATUPDATE ON (o TRUE), las estadísticas se actualizan de forma automática independientemente de si la tabla está vacía inicialmente. Si se utiliza STATUPDATE, el usuario actual debe ser el propietario de la tabla o un super usuario. Si no se especifica STATUPDATE, solo se requiere el permiso INSERT.

Con STATUPDATE OFF (o FALSE), las estadísticas nunca se actualizan.

Para obtener información adicional, consulte Análisis de tablas.