STL_LOAD_COMMITS - Amazon Redshift

STL_LOAD_COMMITS

Devuelve información para realizar un seguimiento o solucionar problemas en la carga de datos.

En esta vista, se registra el progreso de cada archivo de datos mientras se carga en una tabla de base de datos.

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.

Columnas de la tabla

Nombre de la columna Tipo de datos Descripción
userid entero ID del usuario que generó la entrada.
query entero ID de la consulta. La columna de consulta puede usarse para combinar otras vistas y tablas del sistema.
slice entero Sector cargado para esta entrada.
name character (256) Valor definido por el sistema.
filename character (256) Nombre del archivo que del que se hace un seguimiento.
byte_offset entero Esta información es solo para uso interno.
lines_scanned entero Cantidad de líneas examinadas del archivo de carga. Este número puede no coincidir con el número de filas que se cargan efectivamente. Por ejemplo, la carga puede examinar y, al mismo tiempo, tolerar una serie de registros incorrectos, en función de la opción MAXERROR en el comando COPY.
errors entero Esta información es solo para uso interno.
curtime timestamp Hora en que se actualizó por última vez esta entrada.
status entero Esta información es solo para uso interno.
file_format character(16) Formato del archivo que se va a cargar. Los valores posibles son los siguientes:
  • Avro

  • JSON

  • ORC

  • Parquet

  • Texto

is_partial entero Valor que, si es true (1), indica que el archivo de entrada se divide en rangos durante una operación COPY. Si este valor es false (0), el archivo de entrada no se divide.
start_offset bigint Valor que, si el archivo de entrada se divide durante una operación COPY, indica el valor de desplazamiento de la división (en bytes). Cada división de archivos se registra como un registro independiente con el valor start_offset correspondiente. Si el archivo no se divide, este valor es 0.

Consultas de ejemplo

El siguiente ejemplo devuelve los detalles de la última operación COPY.

select query, trim(filename) as file, curtime as updated from stl_load_commits where query = pg_last_copy_id(); query | file | updated -------+----------------------------------+---------------------------- 28554 | s3://dw-tickit/category_pipe.txt | 2013-11-01 17:14:52.648486 (1 row)

La siguiente consulta tiene entradas para una carga nueva de las tablas en la base de datos TICKIT:

select query, trim(filename), curtime from stl_load_commits where filename like '%tickit%' order by query;
query | btrim | curtime -------+---------------------------+---------------------------- 22475 | tickit/allusers_pipe.txt | 2013-02-08 20:58:23.274186 22478 | tickit/venue_pipe.txt | 2013-02-08 20:58:25.070604 22480 | tickit/category_pipe.txt | 2013-02-08 20:58:27.333472 22482 | tickit/date2008_pipe.txt | 2013-02-08 20:58:28.608305 22485 | tickit/allevents_pipe.txt | 2013-02-08 20:58:29.99489 22487 | tickit/listings_pipe.txt | 2013-02-08 20:58:37.632939 22593 | tickit/allusers_pipe.txt | 2013-02-08 21:04:08.400491 22596 | tickit/venue_pipe.txt | 2013-02-08 21:04:10.056055 22598 | tickit/category_pipe.txt | 2013-02-08 21:04:11.465049 22600 | tickit/date2008_pipe.txt | 2013-02-08 21:04:12.461502 22603 | tickit/allevents_pipe.txt | 2013-02-08 21:04:14.785124 22605 | tickit/listings_pipe.txt | 2013-02-08 21:04:20.170594 (12 rows)

El hecho de que se escriba un registro en el archivo de registros para esta vista de sistema no implica que la carga se haya confirmado correctamente como parte de la transacción que contiene. Para comprobar las confirmaciones de carga, consulte la vista STL_UTILITYTEXT y busque el registro COMMIT que corresponda a esa transacción COPY. Por ejemplo, esta consulta combina STL_LOAD_COMMITS y STL_QUERY a partir de una subconsulta de STL_UTILITYTEXT:

select l.query,rtrim(l.filename),q.xid from stl_load_commits l, stl_query q where l.query=q.query and exists (select xid from stl_utilitytext where xid=q.xid and rtrim("text")='COMMIT'); query | rtrim | xid -------+---------------------------+------- 22600 | tickit/date2008_pipe.txt | 68311 22480 | tickit/category_pipe.txt | 68066 7508 | allusers_pipe.txt | 23365 7552 | category_pipe.txt | 23415 7576 | allevents_pipe.txt | 23429 7516 | venue_pipe.txt | 23390 7604 | listings_pipe.txt | 23445 22596 | tickit/venue_pipe.txt | 68309 22605 | tickit/listings_pipe.txt | 68316 22593 | tickit/allusers_pipe.txt | 68305 22485 | tickit/allevents_pipe.txt | 68071 7561 | allevents_pipe.txt | 23429 7541 | category_pipe.txt | 23415 7558 | date2008_pipe.txt | 23428 22478 | tickit/venue_pipe.txt | 68065 526 | date2008_pipe.txt | 2572 7466 | allusers_pipe.txt | 23365 22482 | tickit/date2008_pipe.txt | 68067 22598 | tickit/category_pipe.txt | 68310 22603 | tickit/allevents_pipe.txt | 68315 22475 | tickit/allusers_pipe.txt | 68061 547 | date2008_pipe.txt | 2572 22487 | tickit/listings_pipe.txt | 68072 7531 | venue_pipe.txt | 23390 7583 | listings_pipe.txt | 23445 (25 rows)

En los ejemplos siguientes, se destacan los valores de columna is_partial y start_offset.

-- Single large file copy without scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 1 -- Single large uncompressed, delimited file copy with scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 16 -- Scan range offset logging in the file at 64MB boundary. SELECT start_offset FROM stl_load_commits WHERE query = pg_last_copy_id() ORDER BY start_offset; 0 67108864 134217728 201326592 268435456 335544320 402653184 469762048 536870912 603979776 671088640 738197504 805306368 872415232 939524096 1006632960