Documentation Index

Fetch the complete documentation index at: https://docs.validatar.com/llms.txt

Use this file to discover all available pages before exploring further.

VW_DATASET_JOBS & VW_DATASET_JOB_EXECUTIONS

Prev Next

Overview

These two views provide visibility into job scheduling and execution history. VW_DATASET_JOBS contains job definitions (name, project, schedule count), while VW_DATASET_JOB_EXECUTIONS provides the execution history for each job with timing, status, and aggregate test results.

Use these views for job monitoring dashboards, SLA tracking, and understanding which jobs are inactive or failing.

VW_DATASET_JOBS Schema

Column Type Description
JOB_NAME VARCHAR Name of the job
JOB_ID NUMBER Unique job identifier
PROJECT_ID NUMBER ID of the project containing the job
PROJECT_NAME VARCHAR Name of the project
JOB_FOLDER VARCHAR Name of the immediate folder
JOB_FOLDER_ID NUMBER Folder ID
JOB_FOLDER_PATH VARCHAR Full folder path hierarchy
STEPS_COUNT NUMBER Number of active steps in the job
SCHEDULES_COUNT NUMBER Number of active schedules attached
DATE_CREATED TIMESTAMP When the job was created
DATE_MODIFIED TIMESTAMP When the job was last modified
LAST_EXECUTED TIMESTAMP Most recent execution start time
CREATED_BY VARCHAR Full name of the creator
MODIFIED_BY VARCHAR Full name of the last modifier

VW_DATASET_JOB_EXECUTIONS Schema

Execution Identity

Column Type Description
STEP_ID NUMBER Job step execution ID (NULL for top-level batch runs)
BATCH_ID NUMBER Batch ID for this execution
JOB_ID NUMBER ID of the job
PROJECT_ID NUMBER Project ID

Timing

Column Type Description
RUN_DATE TIMESTAMP When the execution started
END_DATE TIMESTAMP When the execution completed
DURATION NUMBER Duration in seconds
BATCH_STATUS_ID NUMBER Status code
BATCH_STATUS VARCHAR Status name (e.g., "Complete", "Running", "Error")

Job Context

Column Type Description
JOB_NAME VARCHAR Name of the job
JOB_DESCRIPTION VARCHAR Job description
JOB_FOLDER_PATH VARCHAR Full folder path
JOB_FOLDER_ID NUMBER Folder ID
JOB_FOLDER_NAME VARCHAR Folder name
PROJECT VARCHAR Project name
JOB_IS_ACTIVE BOOLEAN Whether the job is currently active
JOB_CREATED_BY VARCHAR Full name of the job creator
JOB_MODIFIED_BY VARCHAR Full name of the last job modifier
JOB_CREATED_ON TIMESTAMP Job creation date
JOB_MODIFIED_ON TIMESTAMP Job modification date
TRIGGERED_BY VARCHAR Who triggered the run ("Scheduler" or user name)
RUNTIME_PARENT VARCHAR Full path of parent job hierarchy (for nested jobs)
URL VARCHAR Relative URL to view results

Test Result Counts

Column Type Description
TEST_TOTAL_COUNT NUMBER Total tests executed in this job run
TEST_VALID_COUNT NUMBER Valid test count (same as total)
TEST_PASSED_COUNT NUMBER Tests that passed
TEST_FAILED_COUNT NUMBER Tests that failed
TEST_ERROR_COUNT NUMBER Tests that errored
JOB_STATUS VARCHAR Derived status: "Passed", "Failed", "Error", or "N/A"
RESULT VARCHAR Detailed result string (e.g., "Passed (10 pass of 10)" or "Failed (8 pass of 10)")

Relationships

VW_DATASET_JOBS
    │
    └── JOB_ID → VW_DATASET_JOB_EXECUTIONS.JOB_ID (one-to-many)

VW_DATASET_JOB_EXECUTIONS
    │
    ├── BATCH_ID → VW_DATASET_TEST_EXECUTIONS.BATCH_ID
    └── PROJECT_ID → VW_DATASET_TESTS.PROJECT_ID

Example Queries

Job Run History with Pass/Fail Summary

SELECT
    JOB_NAME,
    PROJECT,
    RUN_DATE,
    DURATION,
    RESULT,
    TRIGGERED_BY
FROM REPOSITORY.VW_DATASET_JOB_EXECUTIONS
WHERE RUN_DATE >= DATEADD(day, -7, CURRENT_DATE)
ORDER BY RUN_DATE DESC;

Jobs Not Executed in 7+ Days

SELECT
    JOB_NAME,
    PROJECT_NAME,
    JOB_FOLDER_PATH,
    LAST_EXECUTED,
    DATEDIFF(day, LAST_EXECUTED, CURRENT_DATE) AS DAYS_SINCE_LAST_RUN,
    SCHEDULES_COUNT
FROM REPOSITORY.VW_DATASET_JOBS
WHERE LAST_EXECUTED < DATEADD(day, -7, CURRENT_DATE)
    OR LAST_EXECUTED IS NULL
ORDER BY LAST_EXECUTED ASC NULLS FIRST;

Average Job Duration by Project

SELECT
    PROJECT,
    JOB_NAME,
    COUNT(*) AS RUN_COUNT,
    AVG(DURATION) AS AVG_DURATION_SEC,
    MAX(DURATION) AS MAX_DURATION_SEC,
    MIN(DURATION) AS MIN_DURATION_SEC
FROM REPOSITORY.VW_DATASET_JOB_EXECUTIONS
WHERE RUN_DATE >= DATEADD(day, -30, CURRENT_DATE)
    AND END_DATE IS NOT NULL
GROUP BY PROJECT, JOB_NAME
ORDER BY AVG_DURATION_SEC DESC;

Job Failure Rate

SELECT
    JOB_NAME,
    COUNT(*) AS TOTAL_RUNS,
    SUM(CASE WHEN JOB_STATUS = 'Passed' THEN 1 ELSE 0 END) AS PASSES,
    SUM(CASE WHEN JOB_STATUS = 'Failed' THEN 1 ELSE 0 END) AS FAILURES,
    SUM(CASE WHEN JOB_STATUS = 'Error' THEN 1 ELSE 0 END) AS ERRORS,
    ROUND(SUM(CASE WHEN JOB_STATUS = 'Failed' THEN 1 ELSE 0 END)::DECIMAL / COUNT(*) * 100, 1) AS FAILURE_RATE_PCT
FROM REPOSITORY.VW_DATASET_JOB_EXECUTIONS
WHERE RUN_DATE >= DATEADD(day, -30, CURRENT_DATE)
    AND JOB_STATUS != 'N/A'
GROUP BY JOB_NAME
HAVING COUNT(*) >= 3
ORDER BY FAILURE_RATE_PCT DESC;

VW_DATASET_JOB_PROPERTIES — Extended Property Details

The companion view VW_DATASET_JOB_PROPERTIES provides a vertical (one-row-per-property) representation of job details that don't fit in the flat VW_DATASET_JOBS structure. Each row represents one property for a specific job.

Schema

Column Type Description
JOB_NAME VARCHAR Job name
JOB_ID NUMBER Job ID
PROJECT_ID NUMBER Project ID
PROJECT_NAME VARCHAR Project name
FOLDER_NAME VARCHAR Folder name
FOLDER_ID NUMBER Folder ID
FOLDER_PATH VARCHAR Full folder path
PROPERTY_CATEGORY VARCHAR Category grouping (see below)
PROPERTY_NAME VARCHAR Specific property or step name
PROPERTY_NAME_INDEX NUMBER Sequence within the category
PROPERTY_VALUE_TYPE VARCHAR Data type hint: "String Value", "Numeric Value", "Step", "Schedule", or custom field types
PROPERTY_VALUE VARCHAR The property value
DATE_MODIFIED TIMESTAMP When this property was last changed
MODIFIED_BY VARCHAR Who modified it

Property Categories

PROPERTY_CATEGORY PROPERTY_NAME Values Description
Custom Metadata (user-defined custom field names) Custom field values assigned to the job. Supports String, Numeric, Dropdown, TagList, and UserGroupList data types.
Steps (name of the test, job, profile set, or folder) Each step in the job listed individually. PROPERTY_VALUE is the step type: "Test", "Job", "DataProfileSet", or "Folder". PROPERTY_NAME_INDEX gives the step order.
Schedules (schedule name) Active schedules attached to the job. PROPERTY_VALUE is the next execution date.
Discussion Comment Discussion Comment Comments posted on the job's discussion thread.

Joining Jobs to Properties

Use JOB_ID as the join key between VW_DATASET_JOBS and VW_DATASET_JOB_PROPERTIES.

Example: Jobs with a Custom Field Indicating Environment

SELECT
    j.JOB_NAME,
    j.PROJECT_NAME,
    j.LAST_EXECUTED,
    p.PROPERTY_VALUE AS ENVIRONMENT
FROM REPOSITORY.VW_DATASET_JOBS j
INNER JOIN REPOSITORY.VW_DATASET_JOB_PROPERTIES p
    ON p.JOB_ID = j.JOB_ID
WHERE p.PROPERTY_CATEGORY = 'Custom Metadata'
    AND p.PROPERTY_NAME = 'Environment'
    AND p.PROPERTY_VALUE = 'Production'
ORDER BY j.LAST_EXECUTED DESC;

Example: List All Steps for a Specific Job

SELECT
    PROPERTY_NAME AS STEP_NAME,
    PROPERTY_VALUE AS STEP_TYPE,
    PROPERTY_NAME_INDEX AS STEP_ORDER
FROM REPOSITORY.VW_DATASET_JOB_PROPERTIES
WHERE JOB_NAME = 'Daily Validation Suite'
    AND PROPERTY_CATEGORY = 'Steps'
ORDER BY PROPERTY_NAME_INDEX;

Example: Jobs That Have Not Been Scheduled

SELECT
    j.JOB_NAME,
    j.PROJECT_NAME,
    j.LAST_EXECUTED
FROM REPOSITORY.VW_DATASET_JOBS j
WHERE NOT EXISTS (
    SELECT 1
    FROM REPOSITORY.VW_DATASET_JOB_PROPERTIES p
    WHERE p.JOB_ID = j.JOB_ID
        AND p.PROPERTY_CATEGORY = 'Schedules'
)
ORDER BY j.PROJECT_NAME, j.JOB_NAME;

Example: Jobs Where a Comment Mentions "SLA"

SELECT DISTINCT
    j.JOB_NAME,
    j.PROJECT_NAME,
    p.PROPERTY_VALUE AS COMMENT_TEXT,
    p.MODIFIED_BY,
    p.DATE_MODIFIED
FROM REPOSITORY.VW_DATASET_JOBS j
INNER JOIN REPOSITORY.VW_DATASET_JOB_PROPERTIES p
    ON p.JOB_ID = j.JOB_ID
WHERE p.PROPERTY_CATEGORY = 'Discussion Comment'
    AND LOWER(p.PROPERTY_VALUE) LIKE '%sla%'
ORDER BY p.DATE_MODIFIED DESC;

Secure View

VW_SECURE_DATASET_JOB_PROPERTIES adds USER_ID and ACCESS_TYPE columns, filtered by project membership (same security tier as VW_SECURE_DATASET_JOBS).

Databricks Notes

  • Replace DATEADD(day, -7, CURRENT_DATE) with DATE_ADD(CURRENT_DATE(), -7)
  • Replace DATEDIFF(day, col, CURRENT_DATE) with DATEDIFF(CURRENT_DATE(), col)
  • Replace col::DECIMAL with CAST(col AS DECIMAL)
  • The RUNTIME_PARENT column shows the full job nesting path when a job is triggered as a step inside another job