DataWorks は、個人開発環境のカスタムイメージを作成する際に、MaxCompute カスタムイメージの同時生成をサポートしており、DataWorks ノード(PyODPS 3 ノードや Notebook ノードなど)で MaxCompute カスタムイメージを便利に使用できます。このトピックでは、DataWorks で MaxCompute カスタムイメージをビルドして使用する方法について説明します。
背景情報
MaxCompute イメージ管理 機能を使用すると、複雑なリソースのパッケージ化とアップロードのプロセスを実行することなく、SQL UDF、PyODPS、および MaxFrame 開発シナリオで直接参照できるカスタムイメージを作成できます。DataWorks では、個人開発環境に基づいて DataWorks イメージをビルドするのと同時に、MaxCompute イメージをビルドできます。
前提条件
Data Studio(新バージョン)パブリックプレビューに参加する ワークスペースを作成し、ワークスペースに MaxCompute 計算リソースをアタッチしていること。
サーバーレスリソースグループを作成し、ワークスペースにアタッチしていること。
MaxCompute カスタムイメージの作成
準備
Alibaba Cloud Container Registry をアクティブ化し、Standard Edition 以上バージョンの ACR(Container Registry)インスタンスを作成していること。詳細については、「Enterprise Edition インスタンスの作成」、「名前空間の作成」、および「イメージリポジトリの作成」をご参照ください。
ACR(Container Registry)インスタンスの VPC(Virtual Private Cloud)のアクセス制御を構成していること。詳細については、「VPC のアクセス制御の構成」をご参照ください。
ACR(Container Registry)および MaxCompute カスタムイメージの操作権限を持っていること。詳細については、「カスタムイメージ」をご参照ください。
考慮事項
MaxCompute カスタムイメージの作成:
イメージサイズ:単一の MaxCompute イメージの最大サイズは
10 GB
です。イメージ数:単一の MaxCompute テナントは最大
10
個のイメージをアップロードできます。
MaxCompute イメージの使用:DataWorks は Python 3.11 環境に基づいて MaxCompute イメージをビルドします。DataWorks を介してビルドされた MaxCompute イメージを実行するには、Python 環境がバージョン 3.11
であることを確認してください。
個人開発環境インスタンスの作成
Data Studio に入り、以下の手順に従って、特定のイメージ dataworks-maxcompute:py3.11-ubuntu20.04
を使用して個人開発環境インスタンスを作成し、同時に MaxCompute カスタムイメージを作成します。
Data Studio にアクセスします。
DataWorks コンソールの ワークスペース ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、 列で アクション を選択します。
Data Studio ページの左側のナビゲーションウィンドウで、
ボタンをクリックして [データ開発] ページにアクセスします。
個人開発環境の作成ページにアクセスします。上部の [個人開発環境·選択してください] をクリックし、必要に応じて個人開発環境インスタンスを作成します。
個人開発環境インスタンスがない場合は、自分で作成する必要があります。[新規作成] をクリックします。
既に個人開発環境インスタンスがある場合は、[インスタンスの管理] をクリックし、個人開発環境インスタンスリストで [インスタンスの作成] をクリックします。
個人開発環境を構成します。DataWorks で MaxCompute カスタムイメージを作成する場合、個人開発環境には次の構成が必要です。その他のパラメータ構成については、「個人開発環境インスタンスの作成」をご参照ください。
イメージ構成:
dataworks-maxcompute:py3.11-ubuntu20.04
を選択します。説明dataworks-maxcompute:py3.11-ubuntu20.04
イメージを選択することによってのみ、MaxCompute カスタムイメージを作成できます。ベースイメージとして
dataworks-maxcompute:py3.11-ubuntu20.04
を使用してビルドされた DataWorks カスタムイメージは、DataWorks Notebook、汎用 Python、および Shell ノードでの MaxFrame ジョブ開発に使用できます。
ネットワーク設定:ACR インスタンス用に構成された VPC(Virtual Private Cloud)を選択して、後続のイメージビルド中に個人開発環境インスタンスがイメージを ACR インスタンスに正しくプッシュできるようにします。
イメージ関連環境の構成
次の手順に従って、個人開発環境インスタンスタミナルで MaxCompute 開発に必要なサードパーティの依存関係をインストールします。このトピックでは、例として jieba
を使用します。
Data Studio ページの上部にある [個人開発環境·選択してください] をクリックし、個人開発環境インスタンスの作成 で作成した個人開発環境インスタンスをクリックして入力します。
Data Studio 下部ツールバーの左側にある
アイコンをクリックして、ターミナルコマンド実行ボックスにアクセスします。
個人開発環境ターミナルで次のコマンドを順番に実行して、サードパーティの依存関係
jieba
をダウンロードし、正常にインストールされたかどうかを確認します。## サードパーティの依存関係をインストールする pip install jieba; ## サードパーティの依存関係を表示する pip show jieba;
カスタムイメージの保存
次の手順に従って、個人開発環境から DataWorks イメージを作成し、同時に MaxCompute イメージを作成することを選択します。生成されたイメージは、システムによって同じアカウントの ACR インスタンスに自動的にアップロードされます。
個人開発環境インスタンス管理ページにアクセスします。
上部にある元の [個人開発環境·選択してください] の位置をクリックし、作成した個人開発環境インスタンスの名前をクリックします。
ポップアップウィンドウで、[環境の管理] を選択して [個人開発環境インスタンス] ページにアクセスします。
イメージ作成ページにアクセスします。
個人開発環境インスタンスページで、作成した個人開発環境インスタンスを見つけます。
インスタンスの右側にある アクション 列の [イメージの作成] をクリックします。
スタックの更新
パラメータ
説明
イメージ名
カスタム DataWorks イメージ名。イメージが MaxCompute に同期される場合、ここで定義された名前が MaxCompute イメージ名になります(例:
image_jieba
)。イメージインスタンス
Standard Edition 以上バージョンの ACR インスタンスを選択します。ACR インスタンスの作成の詳細については、「Enterprise Edition インスタンスの作成」をご参照ください。
説明Standard Edition 以上バージョンの ACR インスタンスのみを使用して、MaxCompute カスタムイメージをビルドできます。
名前空間
ACR インスタンスの名前空間を選択します。作成の詳細については、「名前空間の作成」をご参照ください。
イメージリポジトリ
ACR インスタンスのイメージリポジトリを選択します。作成の詳細については、「イメージリポジトリの作成」をご参照ください。
イメージバージョン
カスタムイメージバージョン。
MaxCompute に同期
この場合は、[はい] を選択します。MaxCompute への同期を選択すると、DataWorks イメージの公開時に、イメージが MaxCompute イメージとして同時にビルドされます。
説明このオプションは、選択した イメージインスタンス に関連しています。インスタンスタイプ が Standard Edition 以上バージョンの ACR イメージインスタンスは選択可能ですが、それ以外はデフォルトで選択できません。
タスクタイプ
作成中の DataWorks イメージで使用可能なタスクタイプを選択します。この例では、Notebook 開発にイメージを使用することを選択できます。
Notebook
Python
Shell
イメージの保存ステータスを確認します。
イメージインスタンスリストページの上記の個人開発環境のイメージ列で、イメージの保存ステータスを確認できます。
[確認] をクリックしてイメージを作成します。
個人開発環境インスタンスの右側にある
アイコンをクリックし、[イメージ] 列を確認します。
イメージの作成が完了するまで待ちます。[保存成功]
の右側にあるアイコンにマウスポインタを置き、ポップアップで [ここ] をクリックして [イメージ管理] ページにアクセスします。
カスタムイメージの公開
個人開発環境インスタンスによって作成されたイメージが Data Studio に正常に保存された後、次の手順に従ってカスタムイメージの公開操作を完了します。この操作により、ACR イメージインスタンスを介して作成されたイメージが DataWorks および MaxCompute に同期され、DataWorks カスタムイメージと MaxCompute カスタムイメージの両方が生成されます。
DataWorks ワークスペースリストページ にアクセスし、上部でターゲットリージョンに切り替えます。
左側のナビゲーションバーにある
タブを見つけ、対象イメージを [テスト] し、対象イメージが テスト成功 した後、対象イメージを [公開] します。説明カスタムイメージをテストする場合は、[テストリソースグループ] にサーバーレスリソースグループを選択します。
テストおよび公開用に選択されたサーバーレスリソースグループにバインドされた VPC は、Alibaba Cloud Container Registry で構成された VPC と一致している必要があります。
構成したカスタムイメージがパブリックネットワークからサードパーティパッケージを取得し、テストが長時間合格しない場合は、[テストリソースグループ] にバインドされた VPC にパブリックネットワークアクセス機能があるかどうかを確認してください。VPC のパブリックネットワークを構成するには、「NAT ゲートウェイの SNAT 機能を使用してインターネットにアクセスする」をご参照ください。
ページを更新して、イメージリストで公開したイメージの [公開ステータス] が [公開済み] に変更されたことを確認します。
ターゲットイメージの 操作 列で、
をクリックして、カスタムイメージをワークスペースにアタッチします。
MaxCompute イメージステータスの確認
DataWorks イメージが公開されると、MaxCompute イメージが同時に作成されます。DataWorks コンソールの MaxCompute にカスタムイメージを追加する 手順に従って MaxCompute コンソール に移動して、正常に作成された MaxCompute カスタムイメージを確認できます。
タブのイメージステータスが公開済みステータスに変更されたら、MaxCompute カスタムイメージの使用
考慮事項
MaxFrame を使用した開発には、イメージに
MaxFrame
サービスが必要です。DataWorks で MaxCompute カスタムイメージを実行するには、イメージがPython 3.11
環境でビルドされている必要があります。DataWorks で MaxFrame ジョブ開発に MaxCompute カスタムイメージを使用するには、タスクが MaxFrame ランタイム環境を持つ DataWorks イメージで実行されていることを確認してください。具体的には:
Notebook ノード:公式イメージ
dataworks-notebook:py3.11-ubuntu22.04
、またはこの公式イメージもしくはdataworks-maxcompute:py3.11-ubuntu20.04
イメージに基づいてビルドされた DataWorks カスタムイメージを選択します。PyODPS 3 ノード:公式イメージ
dataworks_pyodps_py311_task_pod
、またはこの公式イメージに基づいてビルドされた DataWorks カスタムイメージを選択します。Python ノード:
dataworks-maxcompute:py3.11-ubuntu20.04
イメージに基づいて MaxFrame サービスで作成された個人開発環境インスタンス を選択し、Python タスクタイプをサポートする DataWorks カスタムイメージとして保存 します。その他のノード: DataWorks カスタムイメージに MaxFrame ランタイム環境が含まれており、
Python 3.11
でビルドされていることを確認します。
データ開発へのアクセス
DataWorks コンソールの ワークスペース ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、 列で アクション を選択します。
Data Studio ページの左側のナビゲーションウィンドウで、
ボタンをクリックして [データ開発] ページにアクセスします。