Gerenciar Pipelines
Depois de criar e testar um pipeline, você o controla iniciando, interrompendo ou eliminando-o. Você também pode redefinir um pipeline.
Iniciar um Pipeline
Quando um pipeline é iniciado, ele é executado continuamente em um job programado. O job programado do pipeline se repete, por padrão a cada 15 minutos ou no intervalo definido com o atributo interval
.
Interromper um Pipeline
STOP_PIPELINE
para interromper um pipeline. Quando um pipeline é interrompido, nenhum job futuro é programado para o pipeline.
Por padrão, os jobs em execução no momento são concluídos quando você interrompe um pipeline. Defina o parâmetro force
como TRUE
para encerrar qualquer job em execução e interromper o pipeline imediatamente.
Consulte STOP_PIPELINE Procedimento para obter mais informações.
Eliminar um Pipeline
DROP_PIPELINE
elimina um pipeline existente.
Se um pipeline tiver sido iniciado, ele deverá ser interrompido para que possa ser eliminado. Consulte STOP_PIPELINE Procedimento para obter mais informações.
Para eliminar um pipeline que foi iniciado, defina o parâmetro force
como TRUE
para encerrar qualquer job em execução e eliminar o pipeline imediatamente
Consulte DROP_PIPELINE Procedimento para obter mais informações.
Redefinir um Pipeline
Observação:
Opcionalmente, você pode usar redefinir pipeline para expurgar dados na tabela de banco de dados associada a um pipeline de carga ou para remover arquivos no armazenamento de objetos de um pipeline de exportação. Geralmente, essa opção é usada quando você está testando um pipeline durante o desenvolvimento do pipeline.O pipeline de redefinição funciona da seguinte forma:
-
Pipeline de Carga: Para um pipeline de carga, a redefinição do pipeline limpa o registro dos arquivos que estão sendo carregados pelo pipeline. Quando você chama
START_PIPELINE
ouRUN_PIPELINE_ONCE
após redefinir um pipeline de carga, o pipeline repete a carga de dados e inclui todos os arquivos presentes no local de armazenamento de objetos.Quando
purge_data
é definido comoTRUE
, o procedimento trunca os dados na tabela do banco de dados. -
Pipeline de Exportação: Para um pipeline de exportação, a redefinição do pipeline limpa os últimos dados rastreados na tabela do banco de dados. Quando você chama
START_PIPELINE
ouRUN_PIPELINE_ONCE
após redefinir um pipeline de exportação, o pipeline repete a exportação de dados da tabela ou da consulta.Quando
purge_data
é definido comoTRUE
, o procedimento exclui arquivos existentes no local de armazenamento de objetos especificado com o atributolocation
.
Para redefinir um pipeline:
Monitorar, Diagnosticar e Solucionar Problemas de Pipelines
Todos os pipelines criados são registrados nas views DBMS_CLOUD_PIPELINE
.
Exibir Informações de Status do Pipeline
Verifique o status do pipeline e obtenha outras informações do pipeline usando as views USER_CLOUD_PIPELINES
ou DBA_CLOUD_PIPELINES
. Por exemplo, a seguinte instrução SELECT
com um predicado de cláusula WHERE
em pipeline_name
mostra que MY_TREE_DATA
é um pipeline de carga e o pipeline é iniciado:
SELECT pipeline_name, pipeline_type, status FROM USER_CLOUD_PIPELINES
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_NAME PIPELINE_TYPE STATUS
------------- ------------- -------
MY_TREE_DATA LOAD STARTED
Consulte DBMS_CLOUD_PIPELINE Views para obter mais informações.
Exibir Atributos do Pipeline
Os atributos do pipeline podem ser monitorados consultando as views USER_CLOUD_PIPELINE_ATTRIBUTES
ou DBA_CLOUD_PIPELINE_ATTRIBUTES
. Consulte essas views para ver as informações do atributo do pipeline.
Por exemplo:
SELECT pipeline_name, attribute_name, attribute_value FROM user_cloud_pipeline_attributes
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_NAME ATTRIBUTE_NAME ATTRIBUTE_VALUE
------------- --------------- ---------------------------------------------------------------------------------
MY_TREE_DATA credential_name DEF_CRED_OBJ_STORE
MY_TREE_DATA format {"type": "csv"}
MY_TREE_DATA interval 20
MY_TREE_DATA location https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace/b/treetypes/o/
MY_TREE_DATA priority high
MY_TREE_DATA table_name TREES
Consulte DBMS_CLOUD_PIPELINE Views para obter mais informações.
Exibir Histórico do Pipeline
As views USER_CLOUD_PIPELINE_HISTORY
e DBA_CLOUD_PIPELINE_HISTORY
mostram o estado dos jobs em execução. Use as views do histórico do pipeline para ajudar a monitorar a integridade de um pipeline e detectar falhas em um pipeline em execução.
Por exemplo:
SELECT pipeline_id, pipeline_name, status, error_message FROM user_cloud_pipeline_history
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_ID PIPELINE_NAME STATUS ERROR_MESSAGE
----------- ------------- --------- -------------
7 MY_TREE_DATA SUCCEEDED
Consulte DBMS_CLOUD_PIPELINE Views para obter mais informações.
Tabela de Status do Pipeline: Monitoramento Adicional para Pipelines de Carga
A tabela de status do pipeline mostra cada nome de arquivo e seu status para um pipeline de carga. A coluna STATUS_TABLE
em DBA_CLOUD_PIPELINES
e USER_CLOUD_PIPELINES
mostra o nome da tabela de status.
Por exemplo, a seguinte instrução SELECT
com um predicado de cláusula WHERE
em pipeline_name
mostra o nome da tabela de status de um pipeline:
SELECT pipeline_name, status_table FROM user_cloud_pipelines
WHERE pipeline_name = 'MY_TREE_DATA';
PIPELINE_NAME STATUS_TABLE
------------- --------------------
MY_TREE_DATA PIPELINE$9$41_STATUS
Exiba a tabela de status para ver informações sobre o pipeline, incluindo o seguinte:
-
O número de erro relevante e a mensagem de erro serão registrados na tabela de status se uma operação em um arquivo específico falhar.
-
Para operações de pipeline concluídas, o tempo necessário para cada operação pode ser calculado usando os
START_TIME
eEND_TIME
reportados.
Por exemplo, o seguinte mostra que a operação de carregamento de dois arquivos falhou e um foi concluído:
SELECT id, name, status, error_code, error_message, sid FROM PIPELINE$9$41_STATUS;
ID NAME STATUS ERROR_CODE ERROR_MESSAGE SID
-- ---------- --------- ---------- -------------------------------- -----
1 trees1.txt FAILED 30653 ORA-30653: reject limit reached 18070
2 trees2.txt FAILED 30653 ORA-30653: reject limit reached 18070
3 trees3.txt COMPLETED 18070
Os pipelines para carregar dados, em que pipeline_type
é 'LOAD'
, reservam um ID
que é mostrado em USER_LOAD_OPERATIONS
e em DBA_LOAD_OPERATIONS
. O valor ID
nessas views é mapeado para o OPERATION_ID
do pipeline em USER_CLOUD_PIPELINES
e DBA_CLOUD_PIPELINES
.
Para obter mais informações sobre um pipeline de carga, consulte o OPERATION_ID
do pipeline:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
Em seguida, consulte USER_LOAD_OPERATIONS
ou DBA_LOAD_OPERATIONS
com um predicado de cláusula WHERE
na coluna ID
(usando o valor OPERATION_ID
).
Por exemplo:
SELECT ID, TYPE, LOGFILE_TABLE, BADFILE_TABLE, STATUS_TABLE FROM USER_LOAD_OPERATIONS
WHERE ID = 41;
ID TYPE LOGFILE_TABLE BADFILE_TABLE STATUS_TABLE
-- -------- ----------------- ----------------- --------------------
41 PIPELINE PIPELINE$9$41_LOG PIPELINE$9$41_BAD PIPELINE$9$41_STATUS
Essa consulta mostra ID
, TYPE
, LOGFILE_TABLE
, BADFILE_TABLE
se ela existir e STATUS_TABLE
. Você pode exibir essas tabelas para obter informações adicionais de carga do pipeline.
Detalhes da Tabela de Status do Pipeline
Coluna | Tipo de dados | Descrição |
---|---|---|
ID |
NUMBER |
Número exclusivo designado ao pipeline. |
NAME |
VARCHAR2(4000) |
Nome do pipeline. |
BYTES |
NUMBER |
Bytes |
CHECKSUM |
VARCHAR2(128) |
Checksum |
LAST_MODIFIED |
TIMESTAMP(6) WITH TIME ZONE |
Horário da última modificação do pipeline. |
STATUS |
VARCHAR2(30) |
O valor STATUS é um de:
|
ERROR_CODE |
NUMBER |
Código do erro |
ERROR_MESSAGE |
VARCHAR2(4000) |
Mensagem de erro |
START_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Horário inicial do pipeline. |
END_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Hora final do pipeline. |
SID |
NUMBER |
As sessões |
SERIAL# |
NUMBER |
As sessões |
ROWS_LOADED |
NUMBER |
Número de linhas carregadas. |
OPERATION_ID |
NUMBER |
Reservado para uso futuro. |
Arquivo de Log de Pipeline e Tabelas de Arquivos Inválidos
Para obter o arquivo de log e os nomes de arquivo inválidos de um pipeline de carga, consulte o OPERATION_ID
do pipeline. Por exemplo:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
Em seguida, consulte USER_LOAD_OPERATIONS
ou DBA_LOAD_OPERATIONS
com um predicado de cláusula WHERE
na coluna ID
(usando o valor OPERATION_ID
).
Por exemplo:
SELECT ID, TYPE, LOGFILE_TABLE, BADFILE_TABLE, STATUS_TABLE FROM USER_LOAD_OPERATIONS
WHERE ID = 41;
ID TYPE LOGFILE_TABLE BADFILE_TABLE STATUS_TABLE
-- -------- ----------------- ----------------- --------------------
41 PIPELINE PIPELINE$9$41_LOG PIPELINE$9$41_BAD PIPELINE$9$41_STATUS
Essa consulta mostra ID
, TYPE
, LOGFILE_TABLE
, BADFILE_TABLE
se ela existir e STATUS_TABLE
. Você pode exibir essas tabelas para obter informações adicionais de carga do pipeline.
Exiba a tabela de arquivos de log do pipeline para ver um log completo das operações de carga do pipeline.
Por exemplo:
SELECT * FROM PIPELINE$9$41_LOG;
Exiba a tabela de arquivos inválidos do pipeline para ver detalhes sobre registros de formato de entrada com erros. A tabela de arquivos incorretos mostra informações para as linhas que relatam erros durante o carregamento. Dependendo dos erros mostrados na tabela de arquivos de log e das linhas mostradas na tabela de arquivos inválidos do pipeline, talvez você possa corrigir os erros modificando as opções do atributo format
do pipeline ou modificando os dados no arquivo que está sendo carregado.
Por exemplo:
SELECT * FROM PIPELINE$9$41_BAD;
Consulte Monitorar e Solucionar Problemas de Carga de Dados para obter mais informações.