Batch monitoring jobs¶
Batch monitoring jobs let you monitor predictions data over time. This page describes how to manage batch monitoring jobs and job definitions with the Python API client.
前提条件¶
- Data and output configuration for running a monitoring job (e.g., intake and output settings compatible with batch prediction jobs).
Batch monitoring job definitions¶
A batch monitoring job definition is a saved configuration for a batch monitoring job. Definitions can be run once on demand or on a schedule. The Python client exposes these via BatchMonitoringJobDefinition.
List job definitions¶
List all batch monitoring job definitions. You can also filter them by deployment or name.
import datarobot as dr
# List all definitions
definitions = dr.BatchMonitoringJobDefinition.list()
# Filter by deployment
definitions = dr.BatchMonitoringJobDefinition.list(deployment_id='5c939e08962d741e34f609f0')
# Search by name
definitions = dr.BatchMonitoringJobDefinition.list(search_name='Daily Monitoring')
Refer to BatchMonitoringJobDefinition.list for parameters such as offset and limit.
Get a job definition¶
Retrieve a single job definition via its ID:
import datarobot as dr
definition = dr.BatchMonitoringJobDefinition.get(job_definition_id='550e8400-e29b-41d4-a716-446655440000')
print(definition.name, definition.deployment_id)
ジョブ定義を作成する¶
Create a batch monitoring job definition with the desired intake, output, and deployment. The payload matches the batch monitoring job create API (e.g., deploymentId, intakeSettings, outputSettings). You can set enabled and schedule to run it on a schedule.
import datarobot as dr
definition = dr.BatchMonitoringJobDefinition.create(
deployment_id='5c939e08962d741e34f609f0',
name='Weekly batch monitoring',
intake_settings={'type': 'localFile', 'url': 'file:///data/predictions.csv'},
output_settings={'type': 'localFile', 'path': '/out/monitoring'},
enabled=False
)
Refer to BatchMonitoringJobDefinition.create and the Batch Monitoring API for all supported options (e.g., monitoringBatchPrefix, monitoringColumns, chunkSize).
Update a job definition¶
Update an existing definition (e.g., name, schedule, or enabled state):
import datarobot as dr
definition = dr.BatchMonitoringJobDefinition.get(job_definition_id='550e8400-e29b-41d4-a716-446655440000')
definition.update(name='Daily batch monitoring', enabled=True)
See BatchMonitoringJobDefinition.update for updatable fields.
Run a job definition¶
To execute a definition once without changing its schedule:
import datarobot as dr
definition = dr.BatchMonitoringJobDefinition.get(job_definition_id='550e8400-e29b-41d4-a716-446655440000')
job = definition.run_once()
print(job.id, job.status)
Run a job definition on a schedule¶
Start running the definition on its configured schedule (if any):
import datarobot as dr
definition = dr.BatchMonitoringJobDefinition.get(job_definition_id='550e8400-e29b-41d4-a716-446655440000')
definition.run_on_schedule()
Delete a job definition¶
Remove a batch monitoring job definition. The definition cannot have jobs currently running.
import datarobot as dr
definition = dr.BatchMonitoringJobDefinition.get(job_definition_id='550e8400-e29b-41d4-a716-446655440000')
definition.delete()
Batch monitoring jobs¶
A batch monitoring job is a single run (either from a single submission or from a definition). Use BatchMonitoringJob to retrieve the job status and details.
Get a batch monitoring job¶
Retrieve a job by ID to check status or results (for example, after running a definition with run_once()):
import datarobot as dr
job = dr.BatchMonitoringJob.get(job_id='660e8400-e29b-41d4-a716-446655440001')
print(job.status, job.deployment_id)