2024年版【GCP資格の勉強 PDE編】Cloud Composerの特徴とワークフロー定義 / タスク定義とは?について解説します。
(★注意:GCP資格 Professional Data Engineer(PDE)試験の公式テキスト・問題集などを元に独自にまとめたものです)
Google Cloud Platform(GCP)のProfessional Data Engineer(PDE)試験において、Cloud Composerの知識は重要です。Cloud Composerは、フルマネージドのワークフロー管理サービスであり、Apache Airflowをベースにしています。
以下に、Cloud Composerの主な特徴とコンポーネントについて説明します。
Cloud Composerの特徴
- Apache Airflowの利用:: Cloud Composerは、オープンソースのApache Airflowを基にしています。Apache Airflowは、ワークフローのスケジューリングと監視に広く使用されているツールです。
- Pythonによるワークフロー定義:: Cloud Composerでは、Pythonを使用してタスク、DAG(有向非巡回グラフ)、ワークフローを定義します。
DAGを使用することで、タスク間の依存関係を効果的に管理できます。
Cloud Composerのコンポーネント
- Kubernetesクラスタ:: Airflowの実行環境としてKubernetesクラスタを使用します。Celeryと呼ばれる分散タスクキューを含むことが一般的です。
- Cloud Storageバケット:: AirflowのDAGやプラグインを配置するためのCloud Storageバケットが提供されます。
- Cloud LoggingとCloud Monitoring:: ワークフローの監視とログの管理にCloud LoggingとCloud Monitoringが使用されます。
- サービス側リソース:: Airflow Web UIは、ワークフローの状態を確認し、管理するためのWebベースのインターフェースを提供します。
Cloud SQLは、Airflowのバックエンドデータベースとして機能し、設定情報やジョブの履歴を保持します。
Cloud Composerのタスク定義
- DAG(有向非巡回グラフ):: DAGは、関連する一連のタスクをまとめたもので、依存関係を定義します。一つのDAGは一つのワークフローに対応します。
- タスク:: DAG内の単一の処理を表すノードです。具体的な処理はオペレータを使用して定義されます。
- オペレータ:: タスクの処理内容を定義するためのコンポーネントです。例えば、BashOperator, PythonOperator, GoogleCloudStorageToBigQueryOperator, BigQueryOperatorなどがあります。
【練習問題】Cloud Composerの特徴とワークフロー定義 / タスク定義
練習問題1: Cloud Composerとオープンソースツール
- 問題
Cloud Composerはどのオープンソースツールを基にしていますか? - A. Kubernetes
B. Docker
C. Apache Hadoop
D. Apache Airflow - 解答
D. Apache Airflow - 解説
Cloud ComposerはApache Airflowを基に構築されたフルマネージドのワークフロー管理サービスです。Airflowは、タスクのスケジューリングと監視に広く使用されており、Cloud ComposerはAirflowをGCP上で容易に利用できるようにしています。
練習問題2: Cloud Composerのワークフロー定義
- 問題
Cloud Composerでワークフローを定義する際に使用するプログラミング言語は何ですか? - A. JavaScript
B. Python
C. Go
D. Ruby - 解答
B. Python - 解説
Cloud Composerでは、Pythonを使用してワークフローを定義します。ユーザーはPythonコードでDAGを記述し、タスクの依存関係や実行順序を制御できます。
練習問題3: Cloud Composerのタスクとオペレータ
- 問題
Cloud Composerにおいて、タスクの処理内容を具体的に定義するコンポーネントは何と呼ばれますか? - A. DAGs
B. Executors
C. Operators
D. Services - 解答
C. Operators - 解説
Cloud Composerのワークフローでは、各タスクの処理内容はオペレータによって定義されます。オペレータは、特定のタイプのタスクを実行するためのコードであり、例えばBashOperatorはシェルスクリプトを実行し、PythonOperatorはPython関数を実行します。データエンジニアは、複雑なデータワークフローを効率的に構築できます。
まとめ
PDE試験では、Cloud Composerを使用してデータワークフローをどのように管理するか、またGCP内の他のサービスとどのように統合するかについての知識が求められます。
実際のデータエンジニアリングのシナリオにおいて、Cloud Composerを効果的に使用する方法についての理解も重要です。
IT起業家
▼AIを使った副業・起業アイデアを紹介♪