Managed Service for Apache Spark の主なコンセプト

このドキュメントでは、Managed Service for Apache Spark の主なコンセプト、基本構成要素、コア機能、メリットについて説明します。これらの基本を理解することで、データ処理タスクに Managed Service for Apache Spark を効果的に使用できます。

クラスタベース モデル

クラスタ上の Managed Service for Apache Spark は、Managed Service for Apache Spark を使用する標準的なインフラストラクチャ中心の方法です。データ処理タスクのための仮想マシンセットを完全に制御できます。

  • クラスタ: クラスタは、仮想マシンで構成されたユーザー専用のデータ処理エンジンです。 Cloud de Confiance by S3NS クラスタを作成して、Apache Spark や Apache Hadoop などのオープンソース フレームワークを実行します。クラスタサイズ、マシンタイプ、構成を完全に制御できます。
  • ジョブ: ジョブは、PySpark スクリプトや Hadoop クエリなどの特定のタスクです。クラスタでジョブを直接実行する代わりに、ジョブを Managed Service for Apache Spark に送信します。Managed Service for Apache Spark は、ジョブの実行を管理します。クラスタに複数のジョブを送信できます。
  • ワークフロー テンプレート: ワークフロー テンプレートは、一連のジョブ(ワークフロー)をオーケストレートする再利用可能な定義です。ジョブ間の依存関係を定義できます。たとえば、データ クリーニング ジョブが正常に完了した後にのみ ML ジョブを実行するようにできます。テンプレート化されたワークフローは、既存のクラスタまたはワークフローを実行するために作成され、ワークフローの完了後に削除される一時(エフェメラル)クラスタで実行できます。このテンプレートを使用すると、必要に応じて定義されたワークフローを実行できます。
  • 自動スケーリング ポリシー: 自動スケーリング ポリシーには、クラスタのワークロードに基づいてクラスタからワーカーマシンを追加または削除するために定義するルールが含まれています。これにより、クラスタの費用とパフォーマンスを動的に最適化できます。

環境のカスタマイズ

クラスタ上の Managed Service for Apache Spark は、アプリケーション環境のカスタマイズに使用できるクラスタ機能とコンポーネントを提供します。

ノートブックと開発環境

Managed Service for Apache Spark のサーバーレス ノートブックと IDE は、コードを記述して実行できる統合開発環境を利用できます。

  • BigQuery Studio と Workbench: 統合された分析環境とノートブック環境です。これにより、コード(Jupyter ノートブックなど)を記述し、Managed Service for Apache Spark クラスタまたはサーバーレス セッションを強力なバックエンド エンジンとして使用して、大規模なデータセットでコードを実行できます。
  • Managed Service for Apache Spark JupyterLab プラグイン: この公式の JupyterLabextension は、ノートブック環境内の Managed Service for Apache Spark サーバーレスのコントロール パネルとして機能します。クラスタの参照、作成、管理、ジョブの送信を Jupyter のインターフェースで行うことができるため、ワークフローが簡素化されます。
  • Google Cloud Data Agent Kit: Data Agent Kit を使用すると、データ サイエンティスト、エンジニア、デベロッパーは、IDE 内でデータ ワークロードのライフサイクル全体を管理できます。Data Agent Kit は Managed Service for Apache Spark をサポートしており、VS Code またはサポートされているエージェント CLI から直接コードを開発し、インタラクティブ セッションを作成して、パイプラインを構築できます。
  • Managed Service for Apache Spark Connect Python コネクタ: この Python ライブラリは、Managed Service for Apache Spark で Spark Connect を使用するプロセスを効率化します。認証とエンドポイント構成を処理するため、ノートブックや IDE などのローカル Python 環境をリモート Managed Service for Apache Spark クラスタに接続してインタラクティブ開発を行うことが簡単になります。