Gestionar pipelines
Después de crear y probar un pipeline, puede controlar un pipeline iniciando, parando o borrando el pipeline. También puede restablecer un pipeline.
Iniciar un pipeline
Después de crear un pipeline, puede iniciar el pipeline.
Cuando se inicia un pipeline, el pipeline se ejecuta continuamente en un trabajo programado. El trabajo programado del pipeline se repite, por defecto cada 15 minutos o en el intervalo definido con el atributo interval.
-
Iniciar un pipeline.
BEGIN DBMS_CLOUD_PIPELINE.START_PIPELINE( pipeline_name => 'EMPLOYEE_PIPELINE' ); END; /Por defecto, un trabajo de pipeline se inicia inmediatamente, tan pronto como se inicia el pipeline. Para iniciar un trabajo de pipeline más tarde, especifique una fecha o un registro de hora futuros válidos mediante el parámetro
start_date.Consulte el procedimiento START_PIPELINE para obtener más información.
-
Verifique que el pipeline se ha iniciado.
Por ejemplo:
SELECT pipeline_name, status from USER_CLOUD_PIPELINES WHERE pipeline_name = 'EMPLOYEE_PIPELINE';PIPELINE_NAME STATUS ------------------------ ------- EMPLOYEE_PIPELINE STARTED
Parada de un pipeline
Utilice STOP_PIPELINE para parar un pipeline. Cuando se para un pipeline, no se programan trabajos futuros para el pipeline.
Por defecto, los trabajos que se están ejecutando actualmente se completan al parar un pipeline. Defina el parámetro force en TRUE para terminar cualquier trabajo en ejecución y parar el pipeline inmediatamente.
-
Pare un pipeline.
BEGIN DBMS_CLOUD_PIPELINE.STOP_PIPELINE( pipeline_name => 'EMPLOYEE_PIPELINE' ); END; /Consulte el procedimiento STOP_PIPELINE para obtener más información.
-
Verifique que el pipeline está parado.
SELECT pipeline_name, status from USER_CLOUD_PIPELINES WHERE pipeline_name = 'EMPLOYEE_PIPELINE';PIPELINE_NAME STATUS ------------------------ ------- EMPLOYEE_PIPELINE STOPPED
Consulte el procedimiento STOP_PIPELINE para obtener más información.
Borrado de un pipeline
El procedimiento DROP_PIPELINE borra un pipeline existente.
Si se ha iniciado un pipeline, se debe parar antes de que se pueda borrar el pipeline. Consulte el procedimiento STOP_PIPELINE para obtener más información.
Para borrar un pipeline iniciado, defina el parámetro force en TRUE para terminar cualquier trabajo en ejecución y borrar el pipeline inmediatamente
-
Borrar un pipeline.
BEGIN DBMS_CLOUD_PIPELINE.DROP_PIPELINE( pipeline_name => 'EMPLOYEE_PIPELINE' ); END; / -
Verifique que el pipeline se ha borrado.
SELECT pipeline_name, status from USER_CLOUD_PIPELINES WHERE pipeline_name = 'EMPLOYEE_PIPELINE';No rows selected
Consulte Procedimiento DROP_PIPELINE para obtener más información.
Restablecer un pipeline
Utilice la operación de restablecimiento de pipeline para borrar el registro del pipeline al estado inicial.
Nota: Opcionalmente, puede utilizar el pipeline de restablecimiento para depurar datos en la tabla de base de datos asociada a un pipeline de carga o para eliminar archivos en el almacén de objetos para un pipeline de exportación. Normalmente, esta opción se utiliza cuando está probando un pipeline durante el desarrollo del pipeline.
El restablecimiento del pipeline funciona de la siguiente manera:
-
Pipeline de carga: para un pipeline de carga, al restablecer el pipeline, se borra el registro de los archivos que está cargando el pipeline. Al llamar a
START_PIPELINEoRUN_PIPELINE_ONCEdespués de restablecer un pipeline de carga, el pipeline repite la carga de datos e incluye todos los archivos presentes en la ubicación del almacén de objetos.Cuando
purge_datase define enTRUE, el procedimiento trunca los datos de la tabla de base de datos. -
Pipeline de exportación: para un pipeline de exportación, el restablecimiento del pipeline borra los últimos datos con seguimiento en la tabla de la base de datos. Al llamar a
START_PIPELINEoRUN_PIPELINE_ONCEdespués de restablecer un pipeline de exportación, el pipeline repite la exportación de datos de la tabla o consulta.Cuando
purge_datase define enTRUE, el procedimiento suprime los archivos existentes en la ubicación del almacén de objetos especificada con el atributolocation.
Para restablecer un pipeline:
-
Pare el pipeline que desea restablecer.
Un pipeline de datos debe estar en estado parado para restablecerlo. Consulte el procedimiento STOP_PIPELINE para obtener más información.
-
Restablezca el pipeline.
BEGIN DBMS_CLOUD_PIPELINE.RESET_PIPELINE( pipeline_name => 'EMPLOYEE_PIPELINE', purge_data => TRUE); END; /Utilice solo el parámetro
purge_datacon el valorTRUEsi desea borrar datos de la tabla de base de datos, de un pipeline de carga o de archivos en el almacén de objetos para un pipeline de exportación. Normalmente, esta opción se utiliza cuando está probando un pipeline durante el desarrollo del pipeline.Consulte el Procedimiento RESET_PIPELINE para obtener más información.
Supervisión y solución de problemas de pipelines
Todos los pipelines que se crean se registran en las vistas DBMS_CLOUD_PIPELINE.
Ver información de estado de pipeline
Compruebe el estado del pipeline y obtenga otra información del pipeline mediante las vistas USER_CLOUD_PIPELINES o DBA_CLOUD_PIPELINES. Por ejemplo, la siguiente sentencia SELECT con un predicado de cláusula WHERE en pipeline_name muestra que MY_TREE_DATA es un pipeline de carga y se inicia el pipeline:
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 Vistas DBMS_CLOUD_PIPELINE para obtener más información.
Ver atributos de pipeline
Los atributos de pipeline se pueden supervisar consultando las vistas USER_CLOUD_PIPELINE_ATTRIBUTES o DBA_CLOUD_PIPELINE_ATTRIBUTES. Consulte estas vistas para ver la información de atributos de pipeline.
Por ejemplo:
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 Vistas DBMS_CLOUD_PIPELINE para obtener más información.
Ver historial de pipeline
Las vistas USER_CLOUD_PIPELINE_HISTORY y DBA_CLOUD_PIPELINE_HISTORY muestran el estado de los trabajos en ejecución. Utilice las vistas del historial de pipeline para ayudarle a supervisar el estado de un pipeline y detectar fallos en un pipeline en ejecución.
Por ejemplo:
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 Vistas DBMS_CLOUD_PIPELINE para obtener más información.
Tabla de estado de pipeline: supervisión adicional para pipelines de carga
La tabla de estado de pipeline muestra cada nombre de archivo y su estado para un pipeline de carga. La columna STATUS_TABLE de DBA_CLOUD_PIPELINES y USER_CLOUD_PIPELINES muestra el nombre de la tabla de estado.
Por ejemplo, la siguiente sentencia SELECT con un predicado de cláusula WHERE en pipeline_name muestra el nombre de la tabla de estado de un 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
Consulte la tabla de estado para ver información sobre el pipeline, incluidos los siguientes:
-
El número de error y el mensaje de error relevantes se registran en la tabla de estado si falla una operación en un archivo específico.
-
Para las operaciones de pipeline terminadas, el tiempo necesario para cada operación se puede calcular mediante los informes
START_TIMEyEND_TIME.
Por ejemplo, a continuación se muestra que la operación de carga de dos archivos ha fallado y una ha finalizado:
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
Los pipelines para cargar datos, donde pipeline_type es 'LOAD', reservan un ID que se muestra en USER_LOAD_OPERATIONS y en DBA_LOAD_OPERATIONS. El valor ID de estas vistas se asigna al valor OPERATION_ID del pipeline en USER_CLOUD_PIPELINES y DBA_CLOUD_PIPELINES.
Para obtener más información para un pipeline de carga, consulte OPERATION_ID del pipeline:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
A continuación, consulte USER_LOAD_OPERATIONS o DBA_LOAD_OPERATIONS con un predicado de cláusula WHERE en la columna ID (mediante el valor OPERATION_ID).
Por ejemplo:
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
Esta consulta muestra ID, TYPE, LOGFILE_TABLE, BADFILE_TABLE si existe y STATUS_TABLE. Puede ver estas tablas para obtener información adicional sobre la carga del pipeline.
Detalles de tabla de estado de pipeline
| Columna | Tipo de dato | Descripción |
|---|---|---|
ID |
NUMBER |
Número único asignado al pipeline. |
NAME |
VARCHAR2(4000) |
Nombre del pipeline. |
BYTES |
NUMBER |
Bytes |
CHECKSUM |
VARCHAR2(128) |
Total de Control |
LAST_MODIFIED |
TIMESTAMP(6) WITH TIME ZONE |
Hora de última modificación del pipeline. |
STATUS |
VARCHAR2(30) |
El valor STATUS es uno de los siguientes:
|
ERROR_CODE |
NUMBER |
Código de error |
ERROR_MESSAGE |
VARCHAR2(4000) |
Mensaje de error |
START_TIME |
TIMESTAMP(6) WITH TIME ZONE |
hora de inicio del pipeline. |
END_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Hora final para el pipeline. |
SID |
NUMBER |
Las sesiones SID y SERIAL# indican la sesión de trabajo que estaba ejecutando la operación de carga de pipeline. |
SERIAL# |
NUMBER |
Las sesiones SID y SERIAL# indican la sesión de trabajo que estaba ejecutando la operación de carga de pipeline. |
ROWS_LOADED |
NUMBER |
Número de filas cargadas. |
OPERATION_ID |
NUMBER |
Reservado para uso posterior. |
Archivo log de pipeline y tablas de archivos incorrectos
Para obtener el archivo log y los nombres de archivo incorrectos para un pipeline de carga, consulte OPERATION_ID del pipeline. Por ejemplo:
SELECT PIPELINE_NAME, OPERATION_ID FROM USER_CLOUD_PIPELINES
WHERE PIPELINE_NAME = 'MY_TREE_DATA';
PIPELINE_NAME OPERATION_ID
------------- ------------
MY_TREE_DATA 41
A continuación, consulte USER_LOAD_OPERATIONS o DBA_LOAD_OPERATIONS con un predicado de cláusula WHERE en la columna ID (mediante el valor OPERATION_ID).
Por ejemplo:
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
Esta consulta muestra ID, TYPE, LOGFILE_TABLE, BADFILE_TABLE si existe y STATUS_TABLE. Puede ver estas tablas para obtener información adicional sobre la carga del pipeline.
Consulte la tabla del archivo log del pipeline para ver un log completo de las operaciones de carga del pipeline.
Por ejemplo:
SELECT * FROM PIPELINE$9$41_LOG;
Consulte la tabla de archivos con errores del pipeline para ver los detalles de los registros de formato de entrada con errores. La tabla de archivos incorrecta muestra información de las filas que informan de errores durante la carga. Según los errores que se muestran en la tabla de archivos log y las filas que se muestran en la tabla de archivos con errores del pipeline, puede corregir los errores modificando las opciones del atributo format del pipeline o modificando los datos del archivo que está cargando.
Por ejemplo:
SELECT * FROM PIPELINE$9$41_BAD;
Consulte Supervisión y solución de problemas de carga de datos para obtener más información.