STL_LOAD_COMMITS - Amazon Redshift

STL_LOAD_COMMITS

Retorna informações para rastrear ou solucionar problemas com uma carga de dados.

Essa visualização registra o progresso de cada arquivo de dados à medida que é carregado em uma tabela de banco de dados.

STL_LOAD_COMMITS permanece visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para ter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.

nota

STL_LOAD_COMMITS só contém consultas executadas em clusters principais. Ele não contém consultas executadas em clusters de escalabilidade de simultaneidade. Para acessar consultas executadas em clusters de escalabilidade principais e de simultaneidade, é recomendável usar a exibição de monitoramento SYS SYS_LOAD_DETAIL. Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender.

Colunas da tabela

Nome da coluna Tipo de dados Descrição
userid inteiro O ID do usuário que gerou a entrada.
consulta inteiro ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema.
slice inteiro A fatia carregada para essa entrada.
name character (256) O valor definido pelo sistema.
filename character(256) O nome do arquivo que está sendo rastreado.
byte_offset inteiro Essas informações são somente para uso interno.
lines_scanned inteiro O número de linhas pesquisadas na varredura do arquivo carregado. Esse número pode não corresponder ao número de linhas que são realmente carregadas. Por exemplo, a carga pode fazer a varredura mas tolerar um certo número de registros ruins com base na opção MAXERROR no comando COPY.
erros inteiro Essas informações são somente para uso interno.
curtime timestamp O horário em que essa entrada foi atualizada pela última vez.
status inteiro Essas informações são somente para uso interno.
file_format character(16) Formato do arquivo carregado. Os valores possíveis são:
  • Avro

  • JSON

  • ORC

  • Parquet

  • Texto

is_parcial inteiro Valor que, se true (1), indica que o arquivo de entrada é dividido em intervalos durante uma operação COPY. Se esse valor for false (0), o arquivo de entrada não será dividido.
start_offset bigint Valor que, se o arquivo de entrada for dividido durante uma operação COPY, indica o valor de deslocamento da divisão (em bytes). Cada divisão de arquivo é registrada como um registro separado com o valor start_offset correspondente. Se o arquivo não estiver dividido, esse valor será 0.
copy_job_id bigint O identificador do trabalho de cópia. 0 indica que não há nenhum identificador de trabalho.

Consultas de exemplo

O exemplo a seguir retorna os detalhes da última operação 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)

A consulta a seguir contém as entradas de uma carga recente de tabelas para o banco de dados 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)

O fato de um registro ser gravado no arquivo de log para esta visualização do sistema não significa que o carregamento foi confirmado com êxito como parte de sua transação contida. Para verificar as confirmações de carregamento, consulte a visualização STL_UTILITYTEXT e procure o registro COMMIT que corresponde a uma transação COPY. Por exemplo, essa consulta une as tabelas STL_LOAD_COMMITS e STL_QUERY com base em uma subconsulta com a tabela 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)

Os exemplos a seguir destacam os valores de coluna is_partial e 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