Schedules Preview
Dremio Arctic enables you to schedule optimization jobs to help you manage the accumulation of the data files that occurs through DML operations. This API allows you to add, modify, retrieve, list, and delete schedules.
Schedules Object{
"type": "OPTIMIZE",
"catalogId": "1a234bc5-6789-46d7-b9cb-d236e195b34a",
"id": "123ab456-cdef-78ab-c901-23de4f5ab6c7",
"schedule": "@daily",
"username": "dremio_user@company.com",
"config": {
"tableId": "sample-nyc-taxi-data",
"reference": "main",
"maxFileSize": "460 MB",
"minFileSize": "192 MB",
"minFiles": 5,
"targetFileSize": "256 MB"
}
}
Schedule Attributes
{{< api-section file="data/api/arctic-schedules.json" data="schedules-attributes" >}}
config Object Attributes
{{< api-section file="data/api/arctic-schedules.json" data="config-object" >}}
Listing All Schedules
List all the job schedules available for the specified Arctic catalog.
Method and URLGET /v0/arctic/catalogs/{catalogId}/schedules
Parameters
{{< api-section file="data/api/arctic-schedules.json" data="listingAllSchedules" >}}
filter Object Attributes
{{< api-section file="data/api/arctic-schedules.json" data="filter-object" >}}
Example Request
curl -X GET 'https://api.dremio.cloud/v0/arctic/catalogs/1a234bc5-6789-46d7-b9cb-d236e195b34a/schedules' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
[
{
"data": [
{
"type": "OPTIMIZE",
"id": "123ab456-cdef-78ab-c901-23de4f5ab6c7",
"schedule": "@weekly",
"username": "dremio_user@company.com",
"config": {
"maxFileSize": "460 MB",
"minFileSize": "192 MB",
"minFiles": 5,
"reference": "etl",
"tableId": "sample-NYC-taxi-trips",
"targetFileSize": "256 MB"
}
},
{
"type": "OPTIMIZE",
"id": "abc123d4-ab12-345cd-1234-abc123def456",
"schedule": "@monthly",
"username": "dremio_user@company.com",
"config": {
"maxFileSize": "920 MB",
"minFileSize": "384 MB",
"minFiles": 5,
"reference": "dev",
"tableId": "sample-SF-taxi-trips",
"targetFileSize": "512 MB"
}
}
]
}
]
Responses
{{< api-responses file="data/api/arctic-schedules.json" data="listingAllSchedules-Responses" >}}
Creating a Schedule
Creates a job schedule for the specified Arctic catalog.
Method and URLPOST /v0/arctic/catalogs/{catalogId}/schedules
Parameters
{{< api-section file="data/api/arctic-schedules.json" data="addingSchedule" >}}
config Object Attributes
{{< api-section file="data/api/arctic-schedules.json" data="config-object" >}}
Example Request to Create a Weekly Schedule
curl -X POST 'https://api.dremio.cloud/v0/arctic/catalogs/1a234bc5-6789-46d7-b9cb-d236e195b34a/schedules \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"type": "OPTIMIZE",
"schedule": "@weekly",
"config": {
"reference": "etl",
"tableID": "sample-NYC-taxi-trips",
"maxFileSize": "460 MB",
"minFileSize": "192 MB",
"minFiles": 5,
"targetFileSize": "70 MB"
}
}'
{
"type": "OPTIMIZE",
"id": "123ab456-cdef-78ab-c901-23de4f5ab6c7",
"schedule": "@weekly",
"username": "dremio_user@company.com",
"config": {
"maxFileSize": "460 MB",
"minFileSize": "192 MB",
"minFiles": 5,
"targetFileSize": "70 MB"
}
}
Responses
{{< api-responses file="data/api/arctic-schedules.json" data="addingSchedule-Responses" >}}
Retrieving a Schedule
Retrieve the specified schedule.
Method and URLGET /v0/arctic/catalogs/{catalogId}/schedules/{scheduleId}
Parameters
{{< api-section file="data/api/arctic-schedules.json" data="retrievingSchedule" >}}
Example Requestcurl -X GET 'https://api.dremio.cloud/v0/catalogs/1a234bc5-6789-46d7-b9cb-d236e195b34a/schedules/9876a54b-681b-49fe-afff-0d753ed5ad85' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
{
"type": "OPTIMIZE",
"id": "673cd876-abcd-1234-b478-91ca5e9cc8f6",
"schedule": "@daily",
"username": "analyst@company.com",
"config": {
"reference": "dev",
"tableId": "sales_2022",
"maxFileSize": "2048 MB",
"minFileSize": "768 MB",
"minFiles": 10,
"targetFileSize": "1024 MB"
},
}
Responses
{{< api-responses file="data/api/arctic-schedules.json" data="retrievingSchedule-Responses" >}}
Modifying a Schedule
Modify an Arctic job schedule.
Method and URLPUT /v0/arctic/catalogs/{catalogId}/schedules/{scheduleId}
Parameters
{{< api-section file="data/api/arctic-schedules.json" data="modifyingSchedule" >}}
config Object Attributes
{{< api-section file="data/api/arctic-schedules.json" data="config-object" >}}
Example Request to Modify a Weekly Schedule
curl -X GET 'https://api.dremio.cloud/v0/catalogs/1a234bc5-6789-46d7-b9cb-d236e195b34a/schedules/9876a54b-681b-49fe-afff-0d753ed5ad85' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"type": "OPTIMIZE",
"schedule": "@weekly",
"config": {
"reference": "compare",
"tableID": "customer-sales",
"maxFileSize": "460 MB",
"minFileSize": "192 MB",
"minFiles": 3,
"targetFileSize": "70 MB"
}
}'
{
"type": "OPTIMIZE",
"id": "9876a54b-681b-49fe-afff-0d753ed5ad85",
"schedule": "@weekly",
"username": "marketing-admin@company.com",
"config": {
"reference": "compare",
"tableID": "customer-sales",
"maxFileSize": "460 MB",
"minFileSize": "192 MB",
"minFiles": 3,
"targetFileSize": "70 MB"
},
}
Responses
{{< api-responses file="data/api/arctic-schedules.json" data="modifyingSchedule-Responses" >}}
Deleting a Schedule
Delete an Arctic job schedule.
Method and URLDELETE /v0/arctic/catalogs/{catalogId}/schedules/{scheduleId}
Parameters
{{< api-section file="data/api/arctic-schedules.json" data="deletingSchedule" >}}
Example Requestcurl -X DELETE 'https://api.dremio.cloud/v0/catalogs/1a234bc5-6789-46d7-b9cb-d236e195b34a/schedules/9876a54b-681b-49fe-afff-0d753ed5ad85' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
{
"code": 200,
"id": "e04bd884-fa37-4d10-bb4e-153443b8234c",
"message": "Successfully found and deleted the schedule"
}
Responses
{{< api-responses file="data/api/arctic-schedules.json" data="deletingSchedule-Responses" >}}