Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota
El esquema lakeflow
anteriormente se conocía como workflow
. El contenido de ambos esquemas es idéntico.
Este artículo es una referencia para las tablas del sistema lakeflow
, que registran la actividad laboral en su cuenta. Estas tablas incluyen registros de todas las áreas de trabajo de la cuenta implementadas en la misma región de nube. Para ver los registros de otra región, debe ver las tablas de un área de trabajo implementada en esa región.
Requisitos
- Para acceder a estas tablas del sistema, los usuarios deben:
- Ser un administrador de metastore y un administrador de cuenta, o
- Tener permisos
USE
ySELECT
en los esquemas del sistema. Consulte Conceder acceso a las tablas del sistema.
Tablas de trabajos disponibles
Todas las tablas del sistema relacionadas con el trabajo residen en el system.lakeflow
esquema. Actualmente, el esquema hospeda cuatro tablas:
Tabla | Descripción | Admite streaming | Período de retención libre | Incluye datos globales o regionales |
---|---|---|---|---|
jobs (versión preliminar pública) | Realiza un seguimiento de todos los trabajos creados en la cuenta | Sí | 365 días | Regional |
job_tasks (versión preliminar pública) | Realiza un seguimiento de todas las tareas de trabajo que se ejecutan en la cuenta | Sí | 365 días | Regional |
job_run_timeline (versión preliminar pública) | Realiza un seguimiento de las ejecuciones del trabajo y los metadatos relacionados | Sí | 365 días | Regional |
job_task_run_timeline (versión preliminar pública) | Realiza un seguimiento de las ejecuciones de tareas de trabajo y los metadatos relacionados | Sí | 365 días | Regional |
pipelines (versión preliminar pública) | Realiza un seguimiento de todas las canalizaciones creadas en la cuenta | Sí | 365 días | Regional |
Referencia detallada del esquema
En las secciones siguientes se proporcionan referencias de esquema para cada una de las tablas del sistema relacionadas con los trabajos.
Esquema de tabla de trabajos
La tabla jobs
es una tabla de dimensiones que cambia lentamente (SCD2). Cuando cambia una fila, se emite una nueva fila, reemplazando lógicamente a la anterior.
Ruta de acceso de tabla: system.lakeflow.jobs
Nombre de la columna | Tipo de datos | Descripción | Notas |
---|---|---|---|
account_id |
cuerda / cadena | El identificador de la cuenta a la que pertenece este trabajo | |
workspace_id |
cuerda / cadena | El identificador del área de trabajo a la que pertenece este trabajo | |
job_id |
cuerda / cadena | Identificador del trabajo | Solo único dentro de un único área de trabajo |
name |
cuerda / cadena | Nombre del trabajo proporcionado por el usuario | |
description |
cuerda / cadena | Descripción proporcionada por el usuario del trabajo | Este campo está vacío si tiene claves administradas por cliente configuradas. No rellenado para las filas emitidas antes de finales de agosto de 2024 |
creator_id |
cuerda / cadena | Identificador de la entidad de seguridad que creó el trabajo | |
tags |
mapa | Etiquetas personalizadas proporcionadas por el usuario asociadas a este trabajo | |
change_time |
marca de tiempo | Hora a la que se modificó por última vez el trabajo | Zona horaria registrada como +00:00 (UTC) |
delete_time |
marca de tiempo | Hora a la que el usuario eliminó el trabajo | Zona horaria registrada como +00:00 (UTC) |
run_as |
cuerda / cadena | El identificador del usuario o la entidad de servicio cuyos permisos se usan para la ejecución del trabajo |
Ejemplo de consulta
-- Get the most recent version of a job
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY workspace_id, job_id ORDER BY change_time DESC) as rn
FROM
system.lakeflow.jobs QUALIFY rn=1
Esquema de tabla de tareas de trabajo
La tabla de tareas de trabajo es una tabla de dimensiones que cambia lentamente (SCD2). Cuando cambia una fila, se emite una nueva fila, reemplazando lógicamente a la anterior.
Ruta de acceso de tabla: system.lakeflow.job_tasks
Nombre de la columna | Tipo de datos | Descripción | Notas |
---|---|---|---|
account_id |
cuerda / cadena | El identificador de la cuenta a la que pertenece este trabajo | |
workspace_id |
cuerda / cadena | El identificador del área de trabajo a la que pertenece este trabajo | |
job_id |
cuerda / cadena | Identificador del trabajo | Solo único dentro de un único área de trabajo |
task_key |
cuerda / cadena | Clave de referencia de una tarea en un trabajo | Solo único dentro de un único trabajo |
depends_on_keys |
matriz | Claves de tarea de todas las dependencias ascendentes de esta tarea | |
change_time |
marca de tiempo | Hora a la que se modificó por última vez la tarea | Zona horaria registrada como +00:00 (UTC) |
delete_time |
marca de tiempo | Hora en que el usuario eliminó una tarea | Zona horaria registrada como +00:00 (UTC) |
Ejemplo de consulta
-- Get the most recent version of a job task
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY workspace_id, job_id ORDER BY change_time DESC) as rn
FROM
system.lakeflow.job_tasks QUALIFY rn=1
Esquema de tabla de escala de tiempo de ejecución de trabajo
La tabla de escala de tiempo de ejecución del trabajo es inmutable y se completa en el momento en que se genera.
Ruta de acceso de tabla: system.lakeflow.job_run_timeline
Nombre de la columna | Tipo de datos | Descripción | Notas |
---|---|---|---|
account_id |
cuerda / cadena | El identificador de la cuenta a la que pertenece este trabajo | |
workspace_id |
cuerda / cadena | El identificador del área de trabajo a la que pertenece este trabajo | |
job_id |
cuerda / cadena | Identificador del trabajo | Esta clave solo es única dentro de un único área de trabajo. |
run_id |
cuerda / cadena | Identificador de la ejecución del trabajo | |
period_start_time |
marca de tiempo | Hora de inicio de la ejecución o del período de tiempo | La información de zona horaria se registra al final del valor con +00:00 , que representa la hora UTC. Para más información sobre cómo Databricks segmenta ejecuciones largas en intervalos horarios, consulte la lógica de segmentación de escala de tiempo. |
period_end_time |
marca de tiempo | Hora de finalización de la ejecución o durante el período de tiempo | La información de zona horaria se registra al final del valor con +00:00 , que representa la hora UTC. Para más información sobre cómo Databricks segmenta ejecuciones largas en intervalos por hora, consulte la lógica de fragmentación temporal. |
trigger_type |
cuerda / cadena | Tipo de desencadenador que puede desencadenar una ejecución | Para conocer los valores posibles, consulte Valores de tipo desencadenador. |
run_type |
cuerda / cadena | Tipo de ejecución de trabajo | Para conocer los valores posibles, consulte Valores de tipo ejecución. |
run_name |
cuerda / cadena | Nombre de ejecución proporcionado por el usuario asociado a esta ejecución de trabajo | |
compute_ids |
matriz | Matriz que contiene los identificadores de proceso del trabajo para la ejecución del trabajo primario | Utilice para identificar el clúster de trabajos que los tipos de ejecución de WORKFLOW_RUN usan. Para obtener otra información de proceso, consulte la tabla job_task_run_timeline .No rellenado para las filas emitidas antes de finales de agosto de 2024. |
result_state |
cuerda / cadena | Resultado de la ejecución del trabajo | Para las ejecuciones de más de una hora que se dividen entre varias filas, esta columna solo se rellena en la fila que representa el final de la ejecución. Para ver los valores posibles, consulte Valores de estado de resultado. |
termination_code |
cuerda / cadena | Código de finalización de la ejecución del trabajo | Para las ejecuciones de más de una hora que se dividen entre varias filas, esta columna solo se rellena en la fila que representa el final de la ejecución. Para conocer los valores posibles, consulte Valores de código de finalización. No rellenado para las filas emitidas antes de finales de agosto de 2024. |
job_parameters |
mapa | Parámetros de nivel de trabajo usados en la ejecución del trabajo | Las configuraciones en desuso de notebook_params no se incluyen en este campo. No rellenado para las filas emitidas antes de finales de agosto de 2024. |
Ejemplo de consulta
-- This query gets the daily job count for a workspace for the last 7 days:
SELECT
workspace_id,
COUNT(DISTINCT run_id) as job_count,
to_date(period_start_time) as date
FROM system.lakeflow.job_run_timeline
WHERE
period_start_time > CURRENT_TIMESTAMP() - INTERVAL 7 DAYS
GROUP BY ALL
-- This query returns the daily job count for a workspace for the last 7 days, distributed by the outcome of the job run.
SELECT
workspace_id,
COUNT(DISTINCT run_id) as job_count,
result_state,
to_date(period_start_time) as date
FROM system.lakeflow.job_run_timeline
WHERE
period_start_time > CURRENT_TIMESTAMP() - INTERVAL 7 DAYS
AND result_state IS NOT NULL
GROUP BY ALL
-- This query returns the average time of job runs, measured in seconds. The records are organized by job. A top 90 and a 95 percentile column show the average lengths of the job's longest runs.
with job_run_duration as (
SELECT
workspace_id,
job_id,
run_id,
CAST(SUM(period_end_time - period_start_time) AS LONG) as duration
FROM
system.lakeflow.job_run_timeline
WHERE
period_start_time > CURRENT_TIMESTAMP() - INTERVAL 7 DAYS
GROUP BY ALL
)
SELECT
t1.workspace_id,
t1.job_id,
COUNT(DISTINCT t1.run_id) as runs,
MEAN(t1.duration) as mean_seconds,
AVG(t1.duration) as avg_seconds,
PERCENTILE(t1.duration, 0.9) as p90_seconds,
PERCENTILE(t1.duration, 0.95) as p95_seconds
FROM
job_run_duration t1
GROUP BY ALL
ORDER BY mean_seconds DESC
LIMIT 100
-- This query provides a historical runtime for a specific job based on the `run_name` parameter. For the query to work, you must set the `run_name`.
SELECT
workspace_id,
run_id,
SUM(period_end_time - period_start_time) as run_time
FROM system.lakeflow.job_run_timeline
WHERE
run_type="SUBMIT_RUN"
AND run_name = :run_name
AND period_start_time > CURRENT_TIMESTAMP() - INTERVAL 60 DAYS
GROUP BY ALL
-- This query collects a list of retried job runs with the number of retries for each run.
with repaired_runs as (
SELECT
workspace_id, job_id, run_id, COUNT(*) - 1 as retries_count
FROM system.lakeflow.job_run_timeline
WHERE result_state IS NOT NULL
GROUP BY ALL
HAVING retries_count > 0
)
SELECT
*
FROM repaired_runs
ORDER BY retries_count DESC
LIMIT 10;
Esquema de tabla de escala de tiempo de ejecución de tareas de trabajo
La tabla de escala de tiempo de ejecución de tareas del trabajo es inmutable y se completa en el momento en que se genera.
Ruta de acceso de tabla: system.lakeflow.job_task_run_timeline
Nombre de la columna | Tipo de datos | Descripción | Notas |
---|---|---|---|
account_id |
cuerda / cadena | El identificador de la cuenta a la que pertenece este trabajo | |
workspace_id |
cuerda / cadena | El identificador del área de trabajo a la que pertenece este trabajo | |
job_id |
cuerda / cadena | Identificador del trabajo | Solo único dentro de un único área de trabajo |
run_id |
cuerda / cadena | Identificador de la ejecución de la tarea | |
job_run_id |
cuerda / cadena | Identificador de la ejecución del trabajo | No rellenado para las filas emitidas antes de finales de agosto de 2024 |
parent_run_id |
cuerda / cadena | Identificador de la ejecución primaria | No rellenado para las filas emitidas antes de finales de agosto de 2024 |
period_start_time |
marca de tiempo | Hora de inicio de la tarea o del período de tiempo | La información de zona horaria se registra al final del valor con +00:00 , que representa la hora UTC. Para más información sobre cómo Databricks segmenta ejecuciones largas en intervalos horarios, consulte la lógica de segmentación de escala de tiempo . |
period_end_time |
marca de tiempo | Hora de finalización de la tarea o del período de tiempo | La información de zona horaria se registra al final del valor con +00:00 , que representa la hora UTC. Para más información sobre cómo Databricks segmenta ejecuciones largas en intervalos horarios, consulte la lógica de segmentación de escala de tiempo. |
task_key |
cuerda / cadena | Clave de referencia de una tarea en un trabajo | Esta clave solo es única dentro de un único trabajo. |
compute_ids |
matriz | La matriz compute_ids contiene identificadores de clústeres de trabajos, clústeres interactivos y almacenes de SQL usados por la tarea de trabajo. | |
result_state |
cuerda / cadena | Resultado de la ejecución de la tarea de trabajo | En el caso de las ejecuciones de tareas de más de una hora que se dividen entre varias filas, esta columna solo se rellena en la fila que representa el final de la ejecución. Para ver los valores posibles, consulte Valores de estado de resultado. |
termination_code |
cuerda / cadena | Código de finalización de la ejecución de la tarea | En el caso de las ejecuciones de tareas de más de una hora que se dividen entre varias filas, esta columna solo se rellena en la fila que representa el final de la ejecución. Para conocer los valores posibles, consulte Valores de código de finalización. No rellenado para las filas emitidas antes de finales de agosto de 2024. |
Esquema de tabla de canalizaciones
La tabla pipelines
es una tabla de dimensiones que cambia lentamente (SCD2). Cuando cambia una fila, se emite una nueva fila, reemplazando lógicamente a la anterior.
Ruta de acceso de tabla: system.lakeflow.pipelines
Nombre de la columna | Tipo de datos | Descripción | Notas |
---|---|---|---|
account_id |
cuerda / cadena | El identificador de la cuenta a la que pertenece esta canalización | |
workspace_id |
cuerda / cadena | El identificador del área de trabajo a la que pertenece esta canalización | |
pipeline_id |
cuerda / cadena | El identificador de la canalización | Solo único dentro de un único área de trabajo |
pipeline_type |
cuerda / cadena | Tipo de la canalización | Para conocer los valores posibles, consulte Valores de tipo de canalización. |
name |
cuerda / cadena | Nombre proporcionado por el usuario de la canalización | |
created_by |
cuerda / cadena | El correo electrónico del usuario o el identificador de la entidad de servicio que creó la canalización | |
run_as |
cuerda / cadena | El correo electrónico del usuario o el identificador de la entidad de servicio cuyos permisos se utilizan para ejecutar la canalización. | |
tags |
mapa | Etiquetas personalizadas proporcionadas por el usuario asociadas a este trabajo | |
settings |
struct | Configuración de la canalización | Consulte Configuración de canalización. |
configuration |
mapa | Configuración proporcionada por el usuario de la canalización | |
change_time |
marca de tiempo | Hora a la que se modificó por última vez la canalización | Zona horaria registrada como +00:00 (UTC) |
delete_time |
marca de tiempo | Hora en que el usuario eliminó la canalización | Zona horaria registrada como +00:00 (UTC) |
Ejemplo de consulta
-- Get the most recent version of a pipeline
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY workspace_id, pipeline_id ORDER BY change_time DESC) as rn
FROM
system.lakeflow.pipelines QUALIFY rn=1
-- Enrich billing logs with pipeline metadata
with latest_pipelines AS (
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY workspace_id, pipeline_id ORDER BY change_time DESC) as rn
FROM
system.lakeflow.pipelines QUALIFY rn=1
)
SELECT
usage.*,
pipelines.*
FROM system.billing.usage
LEFT JOIN latest_pipelines
ON (usage.workspace_id = pipelines.workspace_id
AND usage.usage_metadata.dlt_pipeline_id = pipelines.pipeline_id)
WHERE
usage.usage_metadata.dlt_pipeline_id IS NOT NULL
Patrones de Combinación Comunes
En las secciones siguientes se proporcionan consultas de ejemplo que resaltan los patrones de combinación usados habitualmente para las tablas del sistema de trabajos.
Combinar los trabajos y las tablas de escala de tiempo de ejecución de trabajos
Enriquecer la ejecución del trabajo con un nombre de trabajo
with jobs as (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY workspace_id, job_id ORDER BY change_time DESC) as rn
FROM system.lakeflow.jobs QUALIFY rn=1
)
SELECT
job_run_timeline.*
jobs.name
FROM system.lakeflow.job_run_timeline
LEFT JOIN jobs USING (workspace_id, job_id)
Combinar los trabajos y las tablas de escala de tiempo de ejecución de trabajos y uso
Enriquecer cada registro de facturación con metadatos de ejecución de trabajos
SELECT
t1.*,
t2.*
FROM system.billing.usage t1
LEFT JOIN system.lakeflow.job_run_timeline t2
ON t1.workspace_id = t2.workspace_id
AND t1.usage_metadata.job_id = t2.job_id
AND t1.usage_metadata.job_run_id = t2.run_id
AND t1.usage_start_time >= date_trunc("Hour", t2.period_start_time)
AND t1.usage_start_time < date_trunc("Hour", t2.period_end_time) + INTERVAL 1 HOUR
WHERE
billing_origin_product="JOBS"
Calcular el costo por ejecución de un trabajo
Esta consulta se combina con la tabla del sistema billing.usage
para calcular un costo por ejecución de trabajo.
with jobs_usage AS (
SELECT
*,
usage_metadata.job_id,
usage_metadata.job_run_id as run_id,
identity_metadata.run_as as run_as
FROM system.billing.usage
WHERE billing_origin_product="JOBS"
),
jobs_usage_with_usd AS (
SELECT
jobs_usage.*,
usage_quantity * pricing.default as usage_usd
FROM jobs_usage
LEFT JOIN system.billing.list_prices pricing ON
jobs_usage.sku_name = pricing.sku_name
AND pricing.price_start_time <= jobs_usage.usage_start_time
AND (pricing.price_end_time >= jobs_usage.usage_start_time OR pricing.price_end_time IS NULL)
AND pricing.currency_code="USD"
),
jobs_usage_aggregated AS (
SELECT
workspace_id,
job_id,
run_id,
FIRST(run_as, TRUE) as run_as,
sku_name,
SUM(usage_usd) as usage_usd,
SUM(usage_quantity) as usage_quantity
FROM jobs_usage_with_usd
GROUP BY ALL
)
SELECT
t1.*,
MIN(period_start_time) as run_start_time,
MAX(period_end_time) as run_end_time,
FIRST(result_state, TRUE) as result_state
FROM jobs_usage_aggregated t1
LEFT JOIN system.lakeflow.job_run_timeline t2 USING (workspace_id, job_id, run_id)
GROUP BY ALL
ORDER BY usage_usd DESC
LIMIT 100
Obtener registros de uso para trabajos SUBMIT_RUN
SELECT
*
FROM system.billing.usage
WHERE
EXISTS (
SELECT 1
FROM system.lakeflow.job_run_timeline
WHERE
job_run_timeline.job_id = usage_metadata.job_id
AND run_name = :run_name
AND workspace_id = :workspace_id
)
Unir el cronograma de ejecución de tareas y las tablas de clústeres
Enriquecer las ejecuciones de tareas de trabajo con metadatos de clústeres
with clusters as (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY workspace_id, cluster_id ORDER BY change_time DESC) as rn
FROM system.compute.clusters QUALIFY rn=1
),
exploded_task_runs AS (
SELECT
*,
EXPLODE(compute_ids) as cluster_id
FROM system.lakeflow.job_task_run_timeline
WHERE array_size(compute_ids) > 0
)
SELECT
exploded_task_runs.*,
clusters.*
FROM exploded_task_runs t1
LEFT JOIN clusters t2
USING (workspace_id, cluster_id)
Buscar trabajos que se ejecutan en un proceso de uso completo
Esta consulta se une a la de la tabla del sistema compute.clusters
para devolver los trabajos recientes que se ejecutan en proceso multiuso en lugar de proceso de trabajos.
with clusters AS (
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY workspace_id, cluster_id ORDER BY change_time DESC) as rn
FROM system.compute.clusters
WHERE cluster_source="UI" OR cluster_source="API"
QUALIFY rn=1
),
job_tasks_exploded AS (
SELECT
workspace_id,
job_id,
EXPLODE(compute_ids) as cluster_id
FROM system.lakeflow.job_task_run_timeline
WHERE period_start_time >= CURRENT_DATE() - INTERVAL 30 DAY
GROUP BY ALL
),
all_purpose_cluster_jobs AS (
SELECT
t1.*,
t2.cluster_name,
t2.owned_by,
t2.dbr_version
FROM job_tasks_exploded t1
INNER JOIN clusters t2 USING (workspace_id, cluster_id)
)
SELECT * FROM all_purpose_cluster_jobs LIMIT 10;
Panel de supervisión de trabajos
En el panel siguiente se usan tablas del sistema para ayudarle a empezar a supervisar los trabajos y el estado operativo. Incluye casos de uso comunes, como el seguimiento del rendimiento del trabajo, la supervisión de errores y el uso de recursos.
Para obtener información sobre cómo descargar el panel, consulte Supervisión de costes y rendimiento de trabajos con tablas del sistema
Solución de problemas
La tarea no está registrada en la tabla lakeflow.jobs
Si un trabajo no está visible en las tablas del sistema:
- El trabajo no se modificó en los últimos 365 días
- Modifique cualquiera de los campos del trabajo presentes en el esquema para emitir un nuevo registro.
- El trabajo se creó en otra región
- Creación reciente de trabajos (retrasos en los datos)
No se puede encontrar un trabajo visto en la tabla job_run_timeline
No todas las ejecuciones de trabajos están visibles en todas partes. Aunque las entradas de JOB_RUN
aparecen en todas las tablas relacionadas con el trabajo, WORKFLOW_RUN
(ejecuciones de flujo de trabajo del cuaderno) solo se registran en job_run_timeline
y SUBMIT_RUN
(ejecuciones enviadas una sola vez) se registran únicamente en ambas tablas de cronología. Estas ejecuciones no se rellenan en otras tablas del sistema de trabajo, como jobs
o job_tasks
.
Consulte la tabla Tipos de ejecución siguiente para obtener un desglose detallado de dónde está visible y accesible cada tipo de ejecución.
Ejecución de trabajo no visible en la tabla billing.usage
En system.billing.usage
, el usage_metadata.job_id
solo se rellena para los trabajos que se ejecutan en procesos de trabajo o procesos sin servidor.
Además, los trabajos de WORKFLOW_RUN
no tienen una atribución propia de usage_metadata.job_id
o de usage_metadata.job_run_id
en system.billing.usage
.
En su lugar, su uso de computación se atribuye al cuaderno principal que los activó.
Esto significa que cuando un notebook inicia la ejecución de un flujo de trabajo, todos los costes de proceso aparecen en el uso del notebook principal, no como un trabajo de flujo de trabajo independiente.
Consulte Referencia de metadatos de uso para obtener más información.
Calcular el costo de un trabajo que se ejecuta en una computación de propósito general
No es posible hacer el cálculo preciso del coste de los trabajos que se ejecutan en recursos de cómputo dedicados con una precisión del 100%. Cuando un trabajo se ejecuta en un proceso interactivo (de uso completo), varias cargas de trabajo como cuadernos, consultas SQL u otros trabajos a menudo se ejecutan simultáneamente en ese mismo recurso de proceso. Dado que los recursos del clúster se comparten, no hay ninguna asignación directa de 1:1 entre los costos informáticos y las ejecuciones de trabajos individuales.
Para un seguimiento preciso del costo del trabajo, Databricks recomienda ejecutar trabajos en computación dedicada para trabajos o computación sin servidor, donde usage_metadata.job_id
y usage_metadata.job_run_id
permiten una atribución precisa de costos.
Si debe usar la computación de propósito general, puede hacer lo siguiente:
- Supervise el uso general del clúster y los costes en
system.billing.usage
en función deusage_metadata.cluster_id
. - Realice un seguimiento de las métricas del tiempo de ejecución del trabajo por separado.
- Tenga en cuenta que cualquier estimación de costos será aproximada debido a los recursos compartidos.
Consulte Referencia de metadatos de uso para obtener más información sobre la atribución de costes.
Valores de referencia
En la sección siguiente se incluyen referencias para seleccionar columnas en tablas relacionadas con trabajos.
Lógica de segmentación en las tablas de la línea de tiempo
Las columnas period_start_time
y period_end_time
en las tablas job_run_timeline
y job_task_run_timeline
registran el período activo de una ejecución de trabajo o de tareas.
Cada fila registra hasta una hora de tiempo de ejecución. Las ejecuciones que duran más de 1 hora se registran en varias filas. Esta segmentación garantiza la granularidad horaria para supervisar tareas de larga duración.
Nota
Si una ejecución nunca comenzó a ejecutarse, se representa mediante una fila donde period_start_time
es igual a period_end_time
. Esto indica que no hay ningún tiempo de ejecución activo. Para comprender por qué no se inició la ejecución, compruebe la termination_code
columna .
Trabajos de ejecución corta
En el caso de las ejecuciones menores de 1 hora, se emite una sola fila, con period_start_time
establecida en la hora de inicio de la ejecución y period_end_time
establecida en la hora de finalización de la ejecución.
Por ejemplo, un trabajo iniciado a las 12:13 UTC y finalizado a las 12:45 UTC se representa mediante una sola fila:
id_de_espacio_de_trabajo | ID_de_trabajo | run_id | hora_de_inicio_del_periodo | hora_de_fin_del_periodo |
---|---|---|---|---|
6051921418418893 | 280090038844882 | 174832649710507 | 2025-06-08T12:13:01.605 | 2025-06-08T12:45:06.009 |
Trabajos de larga duración
Para las ejecuciones que duran más de 1 hora, se emiten varias filas con la misma run_id
, cada una que representa hasta una hora de la duración de la ejecución:
- La primera fila comienza en la hora de inicio real de la ejecución y concluye al término de la primera hora de ejecución.
- Las filas intermedias (si las hay) abarcan ventanas horarias completas, alineadas con el segmento anterior
period_end_time
. - La última fila comienza al principio del segmento anterior y termina en la hora de finalización real de la ejecución.
Por ejemplo, un trabajo que se ejecutó de 4:47 PM UTC a 8:28 PM UTC se segmenta en varias filas. Cada fila representa una hora de actividad, excepto la última fila, que puede ser más corta:
ID_de_espacio_de_trabajo | job_id | identificador_de_ejecución | hora_inicio_período | hora_final_del_periodo |
---|---|---|---|---|
6051921418418893 | 280090038844882 | 55408597258956 | 2025-07-01T16:47:55.992 | 2025-07-01T17:47:56.434 |
6051921418418893 | 280090038844882 | 55408597258956 | 2025-07-01T17:47:56.434 | 2025-07-01T18:47:58.876 |
6051921418418893 | 280090038844882 | 55408597258956 | 2025-07-01T18:47:58.876 | 2025-07-01T19:47:59.682 |
6051921418418893 | 280090038844882 | 55408597258956 | 2025-07-01T19:47:59.682 | 2025-07-01T20:28:29.743 |
Valores de tipo de desencadenador
En la job_run_timeline
tabla, los valores posibles para la trigger_type
columna son:
CONTINUOUS
CRON
FILE_ARRIVAL
ONETIME
ONETIME_RETRY
Valores de tipo de ejecución
En la job_run_timeline
tabla, los valores posibles para la run_type
columna son:
Tipo | Descripción | Ubicación de la interfaz de usuario | Punto de conexión de API | Tablas del sistema |
---|---|---|---|---|
JOB_RUN |
Ejecución de trabajos estándar | Interfaz de usuario de trabajos y ejecuciones de trabajos | Puntos de conexión /jobs y /jobs/runs | jobs, job_tasks, job_run_timeline, job_task_run_timeline |
SUBMIT_RUN |
Ejecución única a través de POST /jobs/runs/submit | Solo la interfaz de usuario de ejecuciones de trabajos | /jobs/runs endpoints only | job_run_timeline, job_task_run_timeline |
WORKFLOW_RUN |
Ejecución iniciada desde el flujo de trabajo del cuaderno | No es visible | No es accesible | cronograma_de_ejecución_de_tareas |
Valores de estado del resultado
En las job_task_run_timeline
tablas y job_run_timeline
, los valores posibles para la result_state
columna son:
Estado | Descripción |
---|---|
SUCCEEDED |
La ejecución se completó correctamente. |
FAILED |
La ejecución se completó con un error. |
SKIPPED |
La ejecución nunca se llevó a cabo porque no se cumplió una condición. |
CANCELLED |
La ejecución se canceló a petición del usuario. |
TIMED_OUT |
La ejecución se detuvo después de agotar el tiempo de espera. |
ERROR |
La ejecución se completó con un error. |
BLOCKED |
La ejecución se bloqueó en una dependencia ascendente. |
NULL |
La fila representa un segmento intermedio de un trabajo de larga duración. Solo result_state está disponible en la fila que representa el final de la ejecución. |
Valores de código de terminación
En las job_task_run_timeline
tablas y job_run_timeline
, los valores posibles para la termination_code
columna son:
Código de terminación | Descripción |
---|---|
SUCCESS |
La ejecución se completó correctamente. |
CANCELLED |
La ejecución fue cancelada durante la ejecución por la plataforma de Databricks; por ejemplo, si se superó la duración máxima de la ejecución. |
SKIPPED |
La ejecución nunca se realizó, por ejemplo, si falló la ejecución de la tarea previa, no se cumplió la condición del tipo de dependencia, o no había tareas pendientes que ejecutar. |
DRIVER_ERROR |
La ejecución encontró un error al comunicarse con el controlador de Spark. |
CLUSTER_ERROR |
Error en la ejecución debido a un error de clúster. |
REPOSITORY_CHECKOUT_FAILED |
No se pudo completar el pago debido a un error en la comunicación con el servicio de terceros. |
INVALID_CLUSTER_REQUEST |
Error en la ejecución porque emitió una solicitud no válida para iniciar el clúster. |
WORKSPACE_RUN_LIMIT_EXCEEDED |
El espacio de trabajo ha alcanzado la cuota del número máximo de ejecuciones activas simultáneas. Considere la posibilidad de programar las ejecuciones en un período de tiempo mayor. |
FEATURE_DISABLED |
Error en la ejecución porque intentó acceder a una característica no disponible para el área de trabajo. |
CLUSTER_REQUEST_LIMIT_EXCEEDED |
El número de solicitudes de creación, inicio y tamaño del clúster ha superado el límite de velocidad asignado. Considere la posibilidad de repartir la ejecución a lo largo de un período de tiempo más amplio. |
STORAGE_ACCESS_ERROR |
Error en la ejecución debido a un error al acceder al almacenamiento de blobs del cliente. |
RUN_EXECUTION_ERROR |
La ejecución se completó con errores de tarea. |
UNAUTHORIZED_ERROR |
Error en la ejecución debido a un problema de permiso al acceder a un recurso. |
LIBRARY_INSTALLATION_ERROR |
Error en la ejecución al instalar la biblioteca solicitada por el usuario. Las causas pueden incluir, pero no se limitan a: la biblioteca proporcionada no es válida o no tiene permisos suficientes para instalar la biblioteca. |
MAX_CONCURRENT_RUNS_EXCEEDED |
La ejecución programada supera el límite de ejecuciones simultáneas máximas establecidas para el trabajo. |
MAX_SPARK_CONTEXTS_EXCEEDED |
La ejecución se programa en un clúster que ya ha alcanzado el número máximo de contextos que está configurado para crear. |
RESOURCE_NOT_FOUND |
No existe un recurso necesario para ejecutar la ejecución. |
INVALID_RUN_CONFIGURATION |
Error en la ejecución debido a una configuración no válida. |
CLOUD_FAILURE |
Error en la ejecución debido a un problema del proveedor de nube. |
MAX_JOB_QUEUE_SIZE_EXCEEDED |
La ejecución de la tarea se omitió debido a que se alcanzó el límite de tamaño de la cola de nivel de tareas. |
Valores de tipo de canalización
En la pipelines
tabla, los valores posibles para la pipeline_type
columna son:
Tipo de canalización | Descripción |
---|---|
ETL_PIPELINE |
Canalización estándar |
MATERIALIZED_VIEW |
Vistas materializadas en Databricks SQL |
STREAMING_TABLE |
Transmisión de tablas en Databricks SQL |
INGESTION_PIPELINE |
Ingestor de Lakeflow Connect |
INGESTION_GATEWAY |
Ingestor de puerta de enlace de Lakeflow Connect |
Referencia de configuración de canalización
En la pipelines
tabla, los valores posibles para la settings
columna son:
Importancia | Descripción |
---|---|
photon |
Una marca que indica si se usa Photon para ejecutar la canalización |
development |
Una marca que indica si se va a ejecutar la canalización en modo de desarrollo o producción. |
continuous |
Una marca que indica si la canalización se debe ejecutar ininterrumpidamente |
serverless |
Marca que indica si se va a ejecutar la canalización en un clúster sin servidor. |
edition |
La edición del producto para ejecutar la canalización |
channel |
La versión del entorno de ejecución de la canalización que se va a utilizar |