Scheduled Queries
Automate recurring BigQuery queries via Data Transfer Service.
Create a Schedule
- Write query in editor
- Click Schedule button in toolbar
- Configure schedule settings
- Click Create Schedule
Configuration
Frequency
| Type | Example |
|---|---|
| Hourly | Every 2 hours |
| Daily | 6:00 AM Pacific |
| Weekly | Monday 9:00 AM |
| Monthly | 1st of month |
| Custom | Cron expression |
Destination
- Dataset: Where results go
- Table name: Static or dynamic (
sales_{run_date}) - Write mode: Append, Write if empty, Overwrite
Query Parameters
-- Available at runtime
SELECT * FROM events
WHERE DATE(created_at) = @run_date
AND created_at < @run_time
Managing Schedules
Access via Scheduled Queries button in toolbar.
| Action | How |
|---|---|
| View history | Click history icon |
| Run now | Click play icon |
| Pause/Resume | Toggle pause icon |
| Delete | Click trash icon |
Notifications
Email
Toggle Email on failure to receive alerts when queries fail.
Pub/Sub
Enter topic path for advanced integrations:
projects/my-project/topics/query-notifications
Use with Cloud Functions for Slack/Teams alerts.
Advanced Options
- Service account: Run as different identity
- Start/End time: Schedule window
- Labels:
env=prod, team=analytics - Partitioning: Day/Hour/Month/Year
- Clustering: Up to 4 columns
Notes
- Cost limits do NOT apply to scheduled queries
- Test manually first to verify costs
- Use
@run_dateand@run_timeparameters for dynamic queries