MaxCompute は、組み込みイメージとカスタムイメージを含むイメージ管理機能を提供します。カスタムイメージを作成できるほか、データ分析、科学計算、機械学習向けの組み込みイメージ (Pandas、Numpy、Scikit-learn、XGBoost など) を使用できます。これらのイメージを使用すると、SQL UDF、PyODPS、MaxFrame の開発シナリオで既存のイメージを利用できるため、複雑なリソースのパッケージ化とアップロードが不要になります。
背景情報
MaxCompute は、ユーザー定義関数 (UDF) と、PyODPS や MaxFrame などの Python 開発機能を提供します。Java または Python の UDF を作成して、さまざまな開発要件を実装できます。開発では、環境の準備、依存するサードパーティパッケージのパッケージ化とダウンロード、それらのパッケージの MaxCompute プロジェクトへのアップロードが必要です。MaxCompute は、セキュアなコンテナ内で UDF を実行し、依存関係をコンテナのランタイム環境にマウントします。
開発プロセスでは、次のような課題があります。
-
ジョブが多数の外部依存関係を持つ場合、必要なサードパーティパッケージをすべて特定し、パッケージ化して MaxCompute プロジェクトにアップロードする必要があります。このプロセスは複雑で、利用コストも高くなります。
-
異なる MaxCompute プロジェクト間で同一のサードパーティパッケージを繰り返しアップロードすると、管理コストとストレージオーバーヘッドが増加します。
-
依存パッケージのバージョンが多岐にわたり、開発環境が統一されていないため、保守が複雑になります。また、環境の違いによって開発時に競合が発生する可能性があります。
これらの問題に対処するため、MaxCompute はイメージ管理機能を提供します。この機能では、事前定義されたイメージをジョブのランタイム環境として利用できるため、SQL UDF と Python の開発プロセスを簡素化し、開発を加速させ、サービスの応答性とパフォーマンスを向上させます。
機能
-
豊富な組み込みイメージ
MaxCompute は、Pandas、NumPy、Scikit-learn、XGBoost など、科学計算およびデータ分析向けの組み込みイメージを提供します。これらのイメージは、データ分析やデータマイニングのシナリオで使用できます。これにより、煩雑な環境構築、パッケージ化、アップロードが不要になります。組み込みイメージの詳細については、「組み込みイメージ」をご参照ください。
-
柔軟なカスタムイメージ
必要に応じてカスタムイメージをアップロードして管理できます。これにより、テナント内での共有が可能になり、管理コストとリソースのストレージコストを削減し、環境やバージョンの不一致による開発時の競合を防止できます。カスタムイメージの詳細については、「カスタムイメージ」をご参照ください。
-
効率的で便利な利用
SQL で UDF を呼び出す際に Flag パラメーターを指定することで、ジョブにイメージを適用できます。PyODPS (バージョン 0.11.5 以降でサポート) および MaxFrame の開発でも、パラメーターを使用して必要なイメージを指定できます。使用方法の詳細については、「ユースケース」をご参照ください。