Apache Spark は、SQL、ストリーミング、機械学習、グラフ処理用の組み込みモジュールを備えた大規模なデータ処理のための統合分析エンジンです。Spark は、Apache Hadoop、Kubernetes、クラウド上で単独で実行でき、さまざまなデータソースに対して実行できます。Java、Scala、Python、R 向けに豊富な API を提供しているため、幅広いデベロッパーやデータ サイエンティストが利用できます。また、Python API である PySpark は、データ操作用の Pandas などの一般的なライブラリとも緊密に統合されています。Google Cloud では、サーバーレス オプション、Lightning Engine などの画期的なパフォーマンス強化、統合されたデータと AI プラットフォームへの緊密な統合により、Apache Spark はさらに高い次元へと進化しています。
よくある質問として、Apache Spark と Apache Hadoop それぞれの使いどころに関するものがあります。これらは両方とも、今日の市場で特に有名な分散システムであり、ともに Apache トップレベル プロジェクトです。両システムには類似性があり、併用されるケースも少なくありません。Hadoop は、主に MapReduce パラダイムを使用したディスクを大量に使用するオペレーションに使用されます。Spark はより柔軟な、(多くの場合)より費用のかかるインメモリ処理アーキテクチャです。両者の機能を理解すれば、両者の使いどころを決定できるようになります。
Google Cloud が、よりシンプルで統合的かつ費用対効果の高い方法で Apache Spark ワークロードを実行できるようにする仕組みをご紹介します。Apache Spark 用 Google Cloud Serverless を活用してゼロオペレーションの開発を行うことも、Dataproc を使用してマネージド Spark クラスタを作成することもできます。
Spark のエコシステムには、次の 5 つの主要コンポーネントがあります。
これらのコンポーネント全体で、Google Cloud は最適化された環境を提供します。たとえば、Lightning Engine は Spark と DataFrame のパフォーマンスを向上させ、Apache Spark 用 Google Cloud Serverless はデプロイと管理を簡素化します。また、Gemini は BigQuery Studio や Vertex AI Workbench などのノートブック環境でデベロッパーの生産性を高めます。
スピード
Spark のインメモリ処理と DAG スケジューラにより、特に反復タスクでは、Hadoop MapReduce よりも高速なワークロード処理が可能になります。Google Cloud は、最適化されたインフラストラクチャと Lightning Engine により、さらに処理速度を向上させます。
使いやすさ
Spark の高レベルの演算子により、並列アプリの構築が簡単になります。Scala、Python、R、SQL を使用したインタラクティブな操作で、迅速な開発が可能です。また、Google Cloud では、サーバーレス オプションや Gemini と統合されたノートブックも利用できます。
スケーラビリティ
Spark は水平方向の拡張性を提供し、クラスタノード間で作業を分散することで膨大なデータを処理します。Google Cloud は、サーバーレスの自動スケーリングと柔軟な Dataproc クラスタによりスケーリングを簡素化します。
一般性
Spark を基盤として、SQL と DataFrame、機械学習用の MLlib、GraphX、Spark Streaming などのライブラリのスタックが構築されています。これらのライブラリは、同じアプリケーションでシームレスに組み合わせることが可能です。
オープンソース フレームワークのイノベーション
Spark は、オープンソース コミュニティの力を活用して迅速なイノベーションと問題解決を実現します。Google Cloud はこのオープンな精神を尊重し、標準的な Apache Spark を提供しながら、その機能を強化しています。
Apache Spark は、Hadoop クラスタモードでもスタンドアロン モードでもデプロイできる高速な汎用クラスタ計算エンジンです。Spark を使用すると、プログラマーは Java、Scala、Python、R、SQL でアプリケーションを迅速に作成できるようになります。これにより、デベロッパー、データ サイエンティスト、統計の経験を持つ先進的なビジネスマンが、アプリケーションにアクセスできるようになります。Spark SQL を使用すれば、任意のデータソースに接続し、テーブルとして SQL クライアントに提示できます。また、インタラクティブな機械学習アルゴリズムを Spark に簡単に実装できます。
Apache Impala、Apache Hive、Apache Drill などの SQL 専用エンジンでは、ユーザーは複数のデータベースに保存されているデータをクエリするために SQL または SQL に似た言語のみを使用できます。これは、フレームワークが Spark と比較して小さいことを意味します。 しかし、Google Cloud では、厳密な選択をする必要はありません。BigQuery は強力な SQL 機能を備えており、Apache Spark 用の Google Cloud Serverless と Spark および Hadoop のマネージド サービス用の Dataproc により、Spark の多様性を活用できます。多くの場合、BigLake Metastore とオープン形式を通じて、同じデータで活用できます。
多くの企業が Spark を使用して、構造化データと非構造化データの両方を含む大量のリアルタイム データやアーカイブ データの処理や分析という、困難で計算負荷の高いタスクを簡素化しています。Spark を使用すれば、機械学習やグラフ アルゴリズムなどの関連する複雑な機能をシームレスに統合できます。 一般的なアプリケーションは次のとおりです。
データ エンジニアは、拡張された言語セットでプログラミングするオプションを使用し、Spark を使用してコーディングとデータ処理ジョブの構築を行います。Google Cloud では、データ エンジニアは、ゼロオペレーションの ETL/ELT パイプラインのために Google Cloud Serverless for Apache Spark を活用したり、マネージド クラスタの制御のために Dataproc を使用したりできます。これらはすべて、ガバナンスのために BigQuery や Dataplex Universal Catalog などのサービスと統合されています。
データ サイエンティストは、GPU で Spark を使用して分析や ML のより豊かな体験を実現できます。使い慣れた言語で大量のデータをより高速に処理できるため、イノベーションの加速に貢献します。 Google Cloud は、Spark の堅牢な GPU サポートと Vertex AI とのシームレスな統合を提供し、データ サイエンティストがモデルをより迅速に構築してデプロイできるようにします。BigQuery Studio、Vertex AI Workbench などのさまざまなノートブック環境を活用したり、Jupyter や VS Code などの好みの IDE を接続したりできます。この柔軟な開発エクスペリエンスと Gemini を組み合わせることで、当初のプロトタイピングから本番環境へのデプロイまで、ワークフローを加速できます。
Google Cloud は、Spark を大規模に実行する際の一般的な課題を解消し、インフラストラクチャではなく分析情報に集中できるようにします。
さらに簡単
プロビジョニングとスケーリングを自動化するフルマネージドの Dataproc と Apache Spark 向け Serverless オプションにより、運用上の負担と「チューニング税」を排除します。
よりスマートに
Gemini の力を活用して、開発からデプロイ、モニタリング、トラブルシューティングまで、Spark デベロッパーのライフサイクル全体を支援します。すべてを、レイクハウス対応の統合データ プラットフォーム内で実現できます。
速い
手動チューニング不要で Spark ジョブを高速化する次世代エンジン、Lightning Engine により、業界トップクラスの Spark パフォーマンスと費用削減を実現します。