BigQuery 태스크는 일반적으로 더 큰 워크로드의 일부이며 외부 태스크가 트리거된 후 BigQuery 작업에 의해 트리거됩니다.
워크로드 예약을 통해 데이터 관리자, 분석가, 개발자는 이러한 작업 체인을 구성하고 최적화하여 데이터 리소스 및 프로세스 전반에서 원활한 연결을 만들 수 있습니다. 예약 방법과 도구는 이러한 복잡한 데이터 워크로드를 설계, 빌드, 구현, 모니터링하는 데 도움이 됩니다.
예약 방법 선택
예약 방법을 선택하려면 워크로드가 이벤트 기반인지, 시간 기반인지 또는 둘 다인지 확인해야 합니다. 이벤트는 데이터베이스의 데이터 변경 또는 스토리지 시스템에 파일 추가와 같은 상태 변경으로 정의됩니다. 이벤트 기반 예약에서 웹사이트의 작업은 데이터 활동을 트리거하거나 특정 버킷에 객체가 랜딩한 즉시 처리해야 할 수 있습니다. 시간 기반 예약에서는 하루에 한 번 새 데이터를 로드해야 하거나 시간별 보고서를 생성하기에 충분히 자주 로드해야 할 수 있습니다. 객체를 실시간으로 데이터 레이크에 로드해야 하는 시나리오에서 이벤트 기반 및 시간 기반 예약을 사용할 수 있지만 데이터 레이크에 대한 활동 보고서는 일일 단위로만 생성됩니다.
예약 도구 선택
예약 도구는 여러 Google Cloud 또는 서드 파티 서비스를 BigQuery 작업과 결합하거나 여러 BigQuery 작업을 동시에 실행하는 등 복잡한 데이터 워크로드를 관리하는 데 도움이 되는 태스크를 지원합니다. 올바른 데이터를 사용하여 올바른 순서로 태스크를 실행하기 위해 각 워크로드마다 종속 항목 및 매개변수 관리를 위한 고유한 요구사항이 있습니다. Google Cloud 는 예약 방법 및 워크로드 요구사항에 따라 여러 예약 옵션을 제공합니다.
대부분의 사용 사례에는 Dataform, Workflows, Cloud Composer 또는 Vertex AI Pipelines를 사용하는 것이 좋습니다.
다음 차트를 참고하여 나란히 비교해 보세요.
가장 간단한 형태의 워크로드 예약은 BigQuery에서 직접 반복 쿼리를 예약하는 것입니다. 이는 가장 덜 복잡한 예약 방법이지만 외부 종속 항목이 없는 간단한 쿼리 체인에만 사용하는 것이 좋습니다. 이 방식으로 예약된 쿼리는 GoogleSQL로 작성되어야 하며 데이터 정의 언어(DDL) 및 DML 문을 포함할 수 있습니다.
예약 방법: 시간 기반
Dataform
Dataform은 BigQuery에서 복잡한 데이터 변환 작업을 예약하는 독자적인 SQL 기반의 무료 변환 프레임워크입니다. 원시 데이터가 BigQuery에 로드될 때 Dataform을 사용하면 구성 및 테스트를 거친 데이터 세트 및 테이블의 버전 제어 컬렉션을 만들 수 있습니다. Dataform을 사용하여 데이터 준비, 노트북, BigQuery 워크플로 실행을 예약합니다.
예약 방법: 이벤트 기반
Workflows
Workflows는 지연 시간이 매우 짧은 HTTP 기반 서비스를 예약하는 서버리스 도구입니다. 마이크로서비스를 하나로 연결하거나, 인프라 작업을 자동화하거나, 외부 시스템과 통합하거나, Google Cloud에서 일련의 작업을 만드는 데 가장 적합합니다.
BigQuery에서 Workflows를 사용하는 방법에 대한 자세한 내용은 여러 BigQuery 작업 동시 실행을 참조하세요.
예약 방법: 이벤트 기반 및 시간 기반
Cloud Composer
Cloud Composer는 Apache Airflow를 기반으로 하는 완전 관리형 도구입니다. 추출, 변환, 로드(ETL) 또는 추출, 로드, 변환(ELT) 워크로드는 여러 연산자 유형과 패턴뿐만 아니라 다른 Google Cloud제품 및 외부 대상에 걸쳐 작업을 실행할 수 있습니다. BigQuery와 함께 Cloud Composer를 사용하는 방법에 관한 자세한 내용은 Google Cloud에서 데이터 분석 DAG 실행을 참고하세요.
예약 방법: 시간 기반
Vertex AI Pipelines
Vertex AI Pipelines는 머신러닝 워크로드를 예약하기 위해 특별히 설계된 Kubeflow Pipelines 기반의 서버리스 도구입니다. 학습 데이터부터 코드까지 모델 개발 및 배포의 모든 태스크를 자동화하고 연결하여 모델의 작동 방식을 전체적으로 확인할 수 있습니다. BigQuery에서 Vertex AI Pipelines를 사용하는 방법에 대한 자세한 내용은 예측용 BigQuery 머신러닝 모델 내보내기 및 배포를 참조하세요.
Cloud Data Fusion은 코드 작성이 필요 없는 ELT/ETL 파이프라인과 150개 이상의 사전 구성된 커넥터 및 변환을 제공하는 데이터 통합 도구입니다. BigQuery에서 Cloud Data Fusion을 사용하는 방법에 관한 자세한 내용은 MySQL에서 BigQuery로 데이터 복제를 참조하세요.
예약 방법: 이벤트 기반 및 시간 기반
Cloud Scheduler
Cloud Scheduler는 일괄 스트리밍 또는 정의된 시간 간격에 따라 발생하는 인프라 작업과 같은 작업을 위한 완전 관리형 스케줄러입니다. BigQuery에서 Cloud Scheduler를 사용하는 방법에 대한 자세한 내용은 Cloud Scheduler에서 워크플로 예약을 참조하세요.
예약 방법: 시간 기반
Cloud Tasks
Cloud Tasks는 기본 워크로드 외부에서 독립적으로 실행할 수 있는 작업의 비동기 태스크 배포를 위한 완전 관리형 서비스입니다. 느린 백그라운드 작업을 위임하거나 API 호출 비율을 관리하는 데 가장 적합합니다. BigQuery에서 Cloud Tasks를 사용하는 방법에 관한 자세한 내용은 Cloud Tasks 큐에 태스크 추가를 참조하세요.
예약 방법: 이벤트 기반
타사 도구
CData, SnapLogic과 같이 널리 사용되는 다양한 서드 파티 도구를 사용하여 BigQuery에 연결할 수도 있습니다. BigQuery Ready 프로그램은 검증된 파트너 솔루션의 전체 목록을 제공합니다.
메시징 도구
많은 데이터 워크로드에는 특정 이벤트가 발생할 때만 활성화되어야 하는 분리된 마이크로서비스 간에 추가 메시징 연결이 필요합니다.Google Cloud 는 BigQuery와 통합하도록 설계된 두 가지 도구를 제공합니다.
Pub/Sub
Pub/Sub는 데이터 통합 파이프라인을 위한 비동기 메시지 도구입니다. 서버 이벤트 및 사용자 상호작용과 같은 데이터를 수집하고 배포하도록 설계되었습니다. IoT 기기에서 병렬 처리 및 데이터 스트리밍에도 사용할 수 있습니다. BigQuery에서 Pub/Sub를 사용하는 방법에 대해 자세히 알아보려면 Pub/Sub에서 BigQuery로 스트리밍을 참조하세요.
Eventarc
Eventarc는 데이터 파이프라인 전반에서 상태 변경 흐름을 관리할 수 있는 이벤트 기반 도구입니다. 이 도구에는 자동 오류 해결, 리소스 라벨 지정, 이미지 보정 등 다양한 사용 사례가 있습니다. BigQuery에서 Eventarc를 사용하는 방법에 관한 자세한 내용은 Eventarc를 사용하여 BigQuery 처리 파이프라인 빌드를 참조하세요.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-03-18(UTC)"],[[["\u003cp\u003eWorkload scheduling helps organize and optimize chains of actions involving BigQuery, creating seamless connections across data resources and processes.\u003c/p\u003e\n"],["\u003cp\u003eScheduling methods are either event-driven, where actions are triggered by state changes, or time-driven, where actions are based on set time intervals, or can include both.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Cloud provides several tools for scheduling complex data workloads, including Dataform, Workflows, Cloud Composer, and Vertex AI Pipelines, each with a focus such as data transformation, microservices, ETL/ELT, or machine learning, respectively.\u003c/p\u003e\n"],["\u003cp\u003eScheduled queries directly within BigQuery are the simplest form of workload scheduling, suitable for straightforward query chains without external dependencies.\u003c/p\u003e\n"],["\u003cp\u003eIn addition to the tools provided, Google cloud has messaging tools such as Pub/Sub and Eventarc that are designed to integrate with BigQuery for data integration pipelines and managing state changes.\u003c/p\u003e\n"]]],[],null,["# Schedule workloads\n==================\n\nBigQuery tasks are usually part of larger workloads, with external\ntasks triggering and then being triggered by BigQuery operations.\nWorkload scheduling helps data administrators, analysts, and developers\norganize and optimize this chain of actions, creating a seamless connection\nacross data resources and processes. Scheduling methods and tools assist\nin designing, building, implementing, and monitoring these complex data\nworkloads.\n\nChoose a scheduling method\n--------------------------\n\nTo select a scheduling method, you should identify whether your workloads\nare event-driven, time-driven, or both. An *event* is defined as a state change,\nsuch as a change to data in a database or a file added to a storage system. In\n*event-driven scheduling* , an action on a website might trigger a data\nactivity, or an object landing in a certain bucket might need to be processed\nimmediately on arrival. In *time-driven scheduling*, new data might need to\nbe loaded once per day or frequently enough to produce hourly reports. You can\nuse event-driven and time-driven scheduling in scenarios where you need to\nload objects into a data lake in real time, but activity reports on the data\nlake are only generated daily.\n\nChoose a scheduling tool\n------------------------\n\nScheduling tools assist with tasks that are involved in managing complex data\nworkloads, such as combining multiple Google Cloud or third-party services with\nBigQuery jobs, or running multiple BigQuery jobs\nin parallel. Each workload has unique requirements for dependency and parameter\nmanagement to ensure that tasks are executed in the correct order using the\ncorrect data. Google Cloud provides several scheduling options that are\nbased on scheduling method and workload requirements.\n\nWe recommend using Dataform, Workflows,\nCloud Composer, or Vertex AI Pipelines for most use cases.\nConsult the following chart for a side-by-side comparison:\n\nThe following sections detail these scheduling tools and several others.\n\n### Scheduled queries\n\nThe simplest form of workload scheduling is\n[scheduling recurring queries](/bigquery/docs/scheduling-queries) directly in\nBigQuery. While this is the least complex approach to\nscheduling, we recommend it only for straightforward query chains with no\nexternal dependencies. Queries scheduled in this way must be written in\n[GoogleSQL](/bigquery/docs/reference/standard-sql/query-syntax) and\ncan include\n[data definition language (DDL)](/bigquery/docs/reference/standard-sql/data-definition-language)\nand\n[data manipulation language (DML)](/bigquery/docs/data-manipulation-language)\nstatements.\n\n**Scheduling method**: time-driven\n\n### Dataform\n\n[Dataform](/dataform/docs/overview) is a free, SQL-based, opinionated\ntransformation framework that schedules complex data transformation tasks in\nBigQuery. When raw data is loaded into BigQuery,\nDataform helps you create an organized, tested,\nversion-controlled collection of datasets and tables. Use\nDataform to schedule runs for your\n[data preparations](/bigquery/docs/orchestrate-data-preparations),\n[notebooks](/bigquery/docs/orchestrate-notebooks),\nand [BigQuery pipelines](/bigquery/docs/schedule-pipelines).\n\n**Scheduling method**: time-driven\n| **Note:** If you create an asset in a BigQuery repository---for example, a query, notebook (including a notebook with an Apache Spark job), BigQuery pipeline, or Dataform workflow---you cannot schedule it for execution in Dataform. Instead, you need to use BigQuery execution and scheduling capabilities. For more information, see [Scheduling queries](/bigquery/docs/scheduling-queries), [Schedule notebooks](/bigquery/docs/orchestrate-notebooks), and [Schedule pipelines](/bigquery/docs/schedule-pipelines).\n\n### Workflows\n\n[Workflows](/workflows/docs/overview) is a serverless tool that\nschedules HTTP-based services with very low latency. It is best for chaining\nmicroservices together, automating infrastructure tasks, integrating with\nexternal systems, or creating a sequence of operations in Google Cloud.\nTo learn more about using Workflows with BigQuery,\nsee\n[Run multiple BigQuery jobs in parallel](/workflows/docs/tutorials/bigquery-parallel-jobs).\n\n**Scheduling method**: event-driven and time-driven\n\n### Cloud Composer\n\n[Cloud Composer](/composer/docs/concepts/overview) is a fully managed\ntool built on Apache Airflow. It is best for extract, transform, load (ETL) or\nextract, load, transform (ELT) workloads as it supports several\n[operator](https://airflow.apache.org/docs/apache-airflow/stable/concepts/operators.html)\ntypes and patterns, as well as task execution across other Google Cloud\nproducts and external targets. To learn more about using Cloud Composer\nwith BigQuery, see\n[Run a data analytics DAG in Google Cloud](/composer/docs/data-analytics-googlecloud).\n\n**Scheduling method**: time-driven\n\n### Vertex AI Pipelines\n\n[Vertex AI Pipelines](/vertex-ai/docs/pipelines/introduction) is a\nserverless tool based on Kubeflow Pipelines specially designed for scheduling\nmachine learning workloads. It automates and connects all tasks of your model\ndevelopment and deployment, from training data to code, giving you a complete\nview of how your models work. To learn more about using\nVertex AI Pipelines with BigQuery, see\n[Export and deploy a BigQuery machine learning model for prediction](https://codelabs.developers.google.com/codelabs/bqml-vertex-prediction#0).\n\n**Scheduling method**: event-driven\n\n### Apigee Integration\n\n[Apigee Integration](/apigee/docs/api-platform/integration/what-is-apigee-integration)\nis an extension of the Apigee platform that includes connectors and\ndata transformation tools. It is best for integrating with external enterprise\napplications, like Salesforce. To learn more about using\nApigee Integration with BigQuery, see\n[Get started with Apigee Integration and a Salesforce trigger](/apigee/docs/api-platform/integration/getting-started-salesforce-updates).\n\n**Scheduling method**: event-driven and time-driven\n\n### Cloud Data Fusion\n\n[Cloud Data Fusion](/data-fusion) is a data integration tool that\noffers code-free ELT/ETL pipelines and over 150 preconfigured connectors and\ntransformations. To learn more about using Cloud Data Fusion with\nBigQuery, see\n[Replicating data from MySQL to BigQuery](/data-fusion/docs/tutorials/replicating-data/mysql-to-bigquery).\n\n**Scheduling method**: event-driven and time-driven\n\n### Cloud Scheduler\n\n[Cloud Scheduler](/scheduler/docs/overview) is a fully managed\nscheduler for jobs like batch streaming or infrastructure operations that should\noccur on defined time intervals. To learn more about using\nCloud Scheduler with BigQuery, see\n[Scheduling workflows with Cloud Scheduler](/scheduler/docs/tut-workflows).\n\n**Scheduling method**: time-driven\n\n### Cloud Tasks\n\n[Cloud Tasks](/tasks/docs/dual-overview) is a fully managed\nservice for asynchronous task distribution of jobs that can execute\nindependently, outside of your main workload. It is best for delegating slow\nbackground operations or managing API call rates. To learn more\nabout using Cloud Tasks with BigQuery, see\n[Add a task to a Cloud Tasks queue](/tasks/docs/add-task-queue).\n\n**Scheduling method**: event-driven\n\n### Third-party tools\n\nYou can also connect to BigQuery using a number of\npopular third-party tools such as CData and SnapLogic. The\nBigQuery Ready program offers a\n[full list of validated partner solutions](/bigquery/docs/bigquery-ready-partners).\n\nMessaging tools\n---------------\n\nMany data workloads require additional messaging connections between decoupled\nmicroservices that only need to be activated when certain events occur.\nGoogle Cloud provides two tools that are designed to integrate with\nBigQuery.\n\n### Pub/Sub\n\n[Pub/Sub](/pubsub/docs/overview) is an asynchronous messaging tool\nfor data integration pipelines. It is designed to ingest and distribute data\nlike server events and user interactions. It can also be used for parallel\nprocessing and data streaming from IoT devices. To learn more about using\nPub/Sub with BigQuery, see\n[Stream from Pub/Sub to BigQuery](/dataflow/docs/tutorials/dataflow-stream-to-bigquery).\n\n### Eventarc\n\n[Eventarc](/eventarc/docs/overview) is an event-driven tool that\nlets you manage the flow of state changes throughout your data pipeline. This\ntool has a wide range of use cases including automated error remediation,\nresource labeling, image retouching, and more. To learn more about using\nEventarc with BigQuery, see\n[Build a BigQuery processing pipeline with Eventarc](/eventarc/docs/run/bigquery).\n\nWhat's next\n-----------\n\n- Learn to [schedule recurring queries directly in BigQuery](/bigquery/docs/scheduling-queries).\n- Get started with [Dataform](/dataform/docs/overview).\n- Get started with [Workflows](/workflows/docs/overview).\n- Get started with [Cloud Composer](/composer/docs/concepts/overview).\n- Get started with [Vertex AI Pipelines](/vertex-ai/docs/pipelines/introduction).\n- Get started with [Apigee Integration](/apigee/docs/api-platform/integration/what-is-apigee-integration).\n- Get started with [Cloud Data Fusion](/data-fusion).\n- Get started with [Cloud Scheduler](/scheduler/docs/overview).\n- Get started with [Pub/Sub](/pubsub/docs/overview).\n- Get started with [Eventarc](/eventarc/docs/overview)."]]