STL_LOADERROR_DETAIL - Amazon Redshift

STL_LOADERROR_DETAIL

Muestra un registro de los errores de análisis de datos que ocurrieron mientras se usaba el comando COPY para cargar las tablas. Para conservar espacio en el disco, se registran 20 errores como máximo por sector de nodo para cada operación de carga.

Un error de análisis ocurre cuando Amazon Redshift no puede analizar un campo en una fila de datos mientras lo carga en una tabla. Por ejemplo, si la columna de una tabla está esperando un tipo de datos entero y el archivo de datos tiene una cadena de letras en ese campo, se produce un error de análisis.

Consulte STL_LOADERROR_DETAIL para obtener información adicional, como la fila y la columna de datos exactas en la que ocurrió un error de análisis, después de consultar STL_LOAD_ERRORS para averiguar información general sobre el error.

La vista STL_LOADERROR_DETAIL tiene todas las columnas de datos, incluida la columna previa a aquella en la que ocurrió el error de análisis. Utilice el campo VALUE para ver el valor de los datos que realmente se analizaron en esta columna, incluidas las columnas que se analizaron correctamente hasta el error.

Todos los usuarios pueden acceder a esta vista. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.

nota

STL_LOADERROR_DETAIL solo contiene consultas que se ejecutan en los clústeres principales. No contiene consultas que se ejecuten en clústeres que se escalen de forma simultánea. Para acceder a las consultas que se ejecutan en los clústeres de escalado principal y simultáneo, le recomendamos que utilice la vista de monitoreo SYS SYS_LOAD_ERROR_DETAIL. Los datos de la vista de monitoreo SYS están formateados para que sean más fáciles de usar y entender.

Columnas de la tabla

Nombre de la columna Tipo de datos Descripción
userid integer ID del usuario que generó la entrada.
slice integer Sector en el que se produjo el error.
session integer ID de la sesión que realiza la carga.
consulta integer ID de la consulta. La columna de consulta puede usarse para combinar otras vistas y tablas del sistema.
filename character (256) Ruta completa hacia el archivo de entrada para la carga.
line_number bigint Número de línea en el archivo de carga que tiene el error.
field integer Campo que tiene el error.
colname character(1024) Nombre de la columna.
valor character(1024) Valor del dato analizado del campo. (puede estar truncado). Caracteres multibyte en la carga de datos que se reemplazan con un punto.
is_null integer Indica si el valor analizado es nulo o no.
type character (10) Tipo de datos del campo.
col_length character (10) Longitud de la columna, si corresponde. Este campo se rellena cuando el tipo de datos tiene una longitud limitada. Por ejemplo, para una columna con un tipo de datos "character (3)", esta columna tendrá el valor "3".

Consulta de ejemplo

La siguiente consulta combina STL_LOAD_ERRORS y STL_LOADERROR_DETAIL para ver los detalles de un error de análisis que ocurrió mientras se cargaba la tabla EVENT, que tiene un ID de tabla de 100133:

select d.query, d.line_number, d.value, le.raw_line, le.err_reason from stl_loaderror_detail d, stl_load_errors le where d.query = le.query and tbl = 100133;

En el siguiente ejemplo de salida, se muestran las columnas que se cargaron correctamente, incluida la columna con el error. En este ejemplo, se cargaron dos columnas correctamente antes de que ocurriera el error de análisis en la tercera columna, donde se analizó una cadena de caracteres incorrectamente para un campo que esperaba un valor entero. Como el campo esperaba un valor entero, analizó la cadena "aaa", que es un dato sin inicializar, como un valor nulo y generó un error de análisis. La salida muestra el valor sin procesar, el valor analizado y el motivo del error:

query | line_number | value | raw_line | err_reason -------+-------------+-------+----------+---------------- 4 | 3 | 1201 | 1201 | Invalid digit 4 | 3 | 126 | 126 | Invalid digit 4 | 3 | | aaa | Invalid digit (3 rows)

Cuando una consulta combina STL_LOAD_ERRORS y STL_LOADERROR_DETAIL, muestra un motivo de error por cada columna en la fila de datos, que simplemente significa que ocurrió un error en esa fila. La última fila en los resultados es la columna real en la que ocurrió el error.