Spark on MaxComputeは、MaxComputeが提供するコンピューティングサービスで、オープンソースのSparkと互換性があります。 このサービスは、統合コンピューティングリソースとデータセット権限システムに基づくSparkコンピューティングフレームワークを提供します。 このサービスを使用すると、好みの開発方法を使用してSparkジョブを送信および実行できます。 Spark on MaxComputeは、さまざまなデータ処理および分析要件を満たすことができます。
制限事項
MaxComputeでSparkを使用して、次の操作を実行できます。
GraphX、MLlib、Resilient Distributed Dataset (RDD) 、Spark SQL、PySparkなどのSparkコンポーネントを使用して、オフラインコンピューティングを実行します。
MaxComputeテーブルからデータを読み取り、MaxComputeテーブルにデータを書き込みます。
MaxComputeの参照ファイル。
ApsaraDB RDS、ApsaraDB for Redis、ApsaraDB for HBase、Elastic Compute Service (ECS) インスタンスにデプロイされているサービスなど、仮想プライベートクラウド (VPC) にデプロイされているサービスからデータを読み書きします。
Object Storage Service (OSS) の非構造化ストレージデータの読み書き。
MaxComputeでSparkを使用して次の操作を実行することはできません。
Spark-Shell、Spark-SQL-Shell、PySpark-Shell、Spark Streamingジョブなどの対話型またはコンピューティングジョブを実行します。
MaxCompute外部テーブル、組み込み関数、およびユーザー定義関数 (UDF) にアクセスします。
チェックポイントを使用します。
メリット
異なるバージョンのネイティブSparkジョブをサポートします。
MaxComputeはネイティブコミュニティSparkをサポートしており、すべてのネイティブSparkバージョンのAPIと完全に互換性があります。 異なるバージョンの Spark を MaxCompute で同時に実行できます。 MaxComputeのSparkは、ネイティブのSpark web UIを提供します。
集中コンピューティングリソースに基づいて実行されます。
MaxCompute SQLジョブおよびMapReduceジョブと同様に、Spark on MaxComputeは、MaxComputeプロジェクト用に購入された集中コンピューティングリソースに基づいて実行されます。
データと権限の集中管理をサポートします。
MaxComputeのSparkは、MaxComputeプロジェクトに設定された権限に準拠しています。 これにより、MaxComputeプロジェクトのアクセス許可を変更する必要なく、データをクエリできます。
オープンソースのSparkと同じユーザーエクスペリエンスを提供します。
Spark on MaxComputeは、オープンソースのアプリケーションUIやオンラインインタラクションなど、オープンソースのSparkと同じユーザーエクスペリエンスを提供します。 MaxComputeのSparkは、オープンソースアプリケーションのデバッグに使用できるネイティブ、オープンソース、およびリアルタイムのUIをサポートしています。 MaxComputeのSparkでは、履歴ログを照会することもできます。 一部のオープンソースアプリケーションでは、MaxComputeのSparkはバックエンドでリアルタイムのインタラクションを実行できます。 これはインタラクティブな体験を実装します。
アーキテクチャ
Spark on MaxComputeは、ネイティブSparkをMaxComputeで実行できるAlibaba Cloudソリューションです。

上の図の左側は、ネイティブSparkのアーキテクチャを示しています。 右の部分は、Alibaba Cloudが開発したCupidプラットフォーム上で動作する、MaxCompute上のSparkのアーキテクチャを示しています。 Cupidプラットフォームは、オープンソースYARNでサポートされているコンピューティングフレームワークと完全に互換性があります。