コードまたは関数で MaxCompute リソースを使用するには、リソースを参照する前に、ワークスペースで MaxCompute リソースを作成するか、既存のリソースをワークスペースにアップロードする必要があります。MaxCompute SQL コマンドを実行してリソースをアップロードすることができます。DataWorks コンソールでリソースを作成したり、既存のリソースをアップロードしたりすることもできます。このトピックでは、MaxCompute リソースを作成し、DataWorks コンソールのノードでリソースを使用する方法について説明します。また、MaxCompute リソースに基づいて関数を登録する方法についても説明します。
背景情報
リソースは、MaxCompute 固有の概念です。ユーザー定義関数(UDF)またはMapReduceを使用して MaxCompute でジョブを実行するには、必要なリソースをアップロードする必要があります。リソースの詳細については、「リソース」をご参照ください。オンプレミス マシンで開発されたリソース パッケージと Object Storage Service(OSS)に保存されているリソース パッケージを DataWorks にアップロードしたり、DataWorks コンソールでリソースを作成したりできます。リソースは、UDF および MapReduce ジョブによって読み取りおよび使用できます。次の表に、DataWorks でサポートされているリソース タイプを示します。
リソース タイプ | 説明 | 作成方法 |
Python | 記述する Python コード。Python コードを使用して、Python UDF を登録できます。このタイプのリソースの名前は、.py で終わる必要があります。 | DataWorks コンソールでリソースを作成する |
JAR | Java プログラムの実行に使用されるコンパイル済み JAR パッケージ。このタイプのリソースの名前は、.jar で終わる必要があります。 |
|
アーカイブ | .zip、.tgz、.tar.gz、.tar、.jar 形式の圧縮パッケージ。ファイル名拡張子に基づいて圧縮タイプを判断できます。 |
|
ファイル | .zip、.so、.jar 形式のファイル。 |
|
DataWorks コンソールでリソースを作成および使用するための手順:
リソースを管理したり、リソースに対して他の操作を実行したりする方法の詳細については、「リソースの管理」、「コマンドを使用したリソースの管理」、および「管理のために対応するリソースを DataWorks に追加する」をご参照ください。
前提条件
MaxCompute 計算リソースが DataStudio に関連付けられています。
ワークフローが作成されます。DataWorks はワークフローを使用してリソースを保存します。リソースを作成する前に、ワークフローを作成する必要があります。ワークフローの作成方法については、「ワークフローの作成」をご参照ください。
ノードが作成されます。作成されたリソースは、ノードによって参照される必要があります。リソースを参照する前に、ビジネス要件に基づいてノードを作成する必要があります。ノードの作成方法については、「計算エンジン ノード」をご参照ください。
オプション。OSS からファイルをアップロードする場合、次の要件を満たす必要があります。
OSS がアクティブ化され、OSS バケットが作成され、アップロードするファイルが OSS バケットに保存されます。詳細については、「バケットの作成」および「シンプル アップロード」をご参照ください。
データのアップロードに使用する Alibaba Cloud アカウントに、OSS バケットにアクセスするための権限が付与されます。アカウントに権限を付与する方法については、「アクセス制御」をご参照ください。
制限
リソース サイズ
DataWorks コンソールで、最大 200 MB の Python リソースを直接作成できます。リソースに [オンライン編集] を選択すると、最大 500 KB のファイル リソースを作成できます。
最大 500 MB のファイルをオンプレミス マシンから DataWorks にリソースとしてアップロードできます。
最大 500 MB の OSS オブジェクトを DataWorks にリソースとしてアップロードできます。
リソース デプロイメント
標準モードでワークスペースを使用する場合は、リソースを本番環境にデプロイする必要があります。これにより、本番環境のプロジェクトでリソースを使用できます。
説明開発環境と本番環境で使用される計算リソースには違いがあります。特定の環境でテーブルのクエリ、リソース、またはその他の操作を実行する前に、その環境の計算リソース構成が正しいことを確認してください。詳細については、「DataStudio(旧バージョン):MaxCompute 計算リソースの関連付け」をご参照ください。
リソース管理
DataWorks では、DataWorks コンソールを使用してアップロードされたリソースを表示および管理できます。MaxCompute Studio などの他のツールを使用して MaxCompute にリソースを追加する場合は、DataWorks DataStudio の [MaxCompute リソース] 機能を使用して、リソースを手動で DataWorks にロードする必要があります。その後、DataWorks でリソースを表示および管理できます。詳細については、「MaxCompute リソースの管理」をご参照ください。
課金
Dataworks でのリソースの作成とアップロードは無料です。ただし、MaxCompute でのデータ ストレージとバックアップには料金が発生します。詳細については、「ストレージ料金」をご参照ください。
リソース作成のエントリ ポイントに移動する
[DataStudio] ページに移動します。
DataWorks コンソール にログオンします。上部のナビゲーション バーで、目的のリージョンを選択します。左側のナビゲーション ウィンドウで、 を選択します。表示されるページで、ドロップダウン リストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
リソース作成のエントリ ポイントに移動します。
[DataStudio] ページで、目的のワークフローを見つけ、ワークフローの名前を右クリックし、[リソースの作成] を選択して、[MaxCompute] の下でリソース タイプを選択します。
[DataStudio] ページの特定のワークフローでは、リソースの作成、オンプレミス マシンからの既存のリソースのアップロード、または OSS からの既存のリソースのアップロードを実行できます。各リソース タイプの GUI に基づいてメソッドを選択できます。
説明ワークフローがない場合は、作成します。ワークフローの作成方法については、「ワークフローの作成」をご参照ください。
ステップ 1:リソースを作成するか、既存のリソースをアップロードする
DataWorks では、オンプレミス マシンで開発されたリソース パッケージと OSS に保存されているリソース パッケージを DataWorks にアップロードできます。たとえば、オンプレミス マシンで開発された UDF を DataWorks にアップロードするには、最初に UDF をパッケージ化する必要があります。その後、DataWorks に UDF を登録できます。DataWorks コンソールで特定のタイプのリソースを作成することもできます。たとえば、Python リソースまたはサイズが 500 KB 以下のファイル リソースを作成できます。
次の点に注意してください。
MaxCompute にアップロードされていないリソースを作成またはアップロードする場合は、[MaxCompute にアップロード] を選択する必要があります。リソースが MaxCompute にアップロードされている場合は、[MaxCompute にアップロード] をオフにします。オフにしないと、リソースのアップロード時にエラーが報告されます。
リソースの作成またはアップロード時に [MaxCompute にアップロード] を選択すると、リソースの作成またはアップロード後に、リソースは DataWorks と MaxCompute の両方に保存されます。後でコマンドを実行して MaxCompute からリソースを削除した場合でも、DataWorks に保存されているリソースは引き続き存在し、通常どおり表示されます。
リソース名は、アップロードされたファイルの名前と異なる場合があります。
方法 1:DataWorks コンソールでリソースを作成する
次の図は、DataWorks コンソールでリソースを作成するための構成を示しています。ビジネス要件に基づいて、さまざまなタイプのリソースに関する情報を構成できます。
200 MB を超える Python リソースの場合は、方法 2 または 方法 3 を使用して、OSS から DataWorks にリソースをアップロードします。
500 KB を超えるファイル リソースの場合は、方法 2 または 方法 3 を使用して、オンプレミス マシンまたは OSS から DataWorks にファイルをアップロードします。
DataWorks コンソールで Python リソースを作成し、Python リソースを使用して関数を登録する方法の詳細については、「MaxCompute を使用して IP アドレスの地理位置情報をクエリする」をご参照ください。
方法 2:オンプレミス マシンからリソースをアップロードする
次の図は、オンプレミス マシンから DataWorks にリソースをアップロードするための構成を示しています。ビジネス要件に基づいて、さまざまなタイプのリソースに関する情報を構成できます。
方法 3:OSS からリソースをアップロードする
次の図は、OSS から DataWorks にリソースをアップロードするための構成を示しています。ビジネス要件に基づいて、さまざまなタイプのリソースに関する情報を構成できます。
この方法を使用して、500 MB 以下のリソースを OSS からアップロードできます。
画面の指示に従って、データのアップロードに使用する Alibaba Cloud アカウントに [AliyunDataWorksAccessingOSSRole] ロールを割り当てる必要があります。
ステップ 2:リソースをコミットしてデプロイする
リソースを作成した後、リソースの構成タブの上部ツールバーにある アイコンをクリックして、リソースを開発環境にコミットできます。
本番環境のノードでリソースを使用する必要がある場合は、リソースを本番環境にもデプロイする必要があります。詳細については、「ノードのデプロイ」をご参照ください。
ステップ 3:リソースを使用する
シナリオ 1:ノードでリソースを使用できるようにする
DataWorks コンソールでリソースを作成した後、リソースはノードによって参照される必要があります。リソースが参照されると、@resource_reference{"リソース名"}
形式のコードが表示されます。コードの表示形式は、リソースを参照するノードのタイプによって異なります。たとえば、PyODPS 2 ノードがリソースを参照する場合、##@resource_reference{"リソース名"}
形式のコードが表示されます。
ノードがない場合は、作成します。ノードの作成方法については、「計算エンジン ノード」をご参照ください。
PyODPS コードの実行は、サードパーティ パッケージに依存します。カスタム イメージを使用して、ランタイム環境に必要なパッケージをインストールし、ランタイム環境で PyODPS コードを実行する必要があります。カスタム イメージの詳細については、「イメージの管理」をご参照ください。
次の図は、参照手順を示しています。
シナリオ 2:リソースを使用して関数を登録する
リソースを使用して関数を登録する前に、「MaxCompute UDF の作成と使用」に記載されている手順に従って、MaxCompute 関数を作成する必要があります。関数の構成タブで、次の図に示すように、目的のリソースの名前を入力する必要があります。
リソースを使用して関数を登録する前に、リソースがコミットされていることを確認してください。リソースをコミットする方法については、このトピックの「ステップ 2:リソースをコミットしてデプロイする」セクションをご参照ください。
MaxCompute によって提供される組み込み関数の詳細については、「組み込み関数の使用」をご参照ください。
MaxCompute 計算リソースの関数と関数の変更履歴を表示する方法、および関数に対して他の操作を実行する方法の詳細については、「MaxCompute 関数の管理」をご参照ください。
リソースの管理
作成されたリソースが属するワークフローの [リソース] ディレクトリで、リソース名を右クリックしてオプションを選択し、リソースに対して対応する操作を実行できます。
[以前のバージョンを表示]:保存またはコミットされたリソース バージョンを表示し、異なるバージョン間でのリソースの変更を比較できます。
説明リソース バージョンを比較する場合は、比較のために少なくとも 2 つのバージョンを選択する必要があります。
[削除]:リソースを削除できます。開発環境のワークスペースに追加されたデータソースによって使用されているリソースのみを削除できます。本番環境のワークスペースからリソースを削除する場合は、開発環境のリソース削除操作を本番環境にデプロイして、本番環境で削除を有効にする必要があります。操作がデプロイされると、本番環境のワークスペースからリソースを削除できます。詳細については、「ノードのデプロイ」をご参照ください。
付録 1:コマンドを使用したリソースの管理
次の表に、一般的なリソース操作を示します。
操作 | 説明 | 実行者 | 操作プラットフォーム |
MaxCompute プロジェクトにリソースを追加します。 | リソースに対する書き込み権限を持つユーザー | このトピックで説明されているコマンドは、次のプラットフォームで実行できます。 | |
リソースの詳細情報を表示します。 | リソースに対する読み取り権限を持つユーザー | ||
現在のプロジェクトのすべてのリソースを表示します。 | プロジェクト内のオブジェクトに対するリスト権限を持つユーザー | ||
リソースのエイリアスを作成します。 | リソースに対する書き込み権限を持つユーザー | ||
MaxCompute プロジェクトのリソースをオンプレミス マシンにダウンロードします。 | リソースに対する書き込み権限を持つユーザー | ||
MaxCompute プロジェクトから既存のリソースを削除します。 | リソースに対する削除権限を持つユーザー |
DataWorks でリソースを表示するときにプロジェクト名を指定しない場合、デフォルトで開発環境の現在のプロジェクトのリソースを表示できます。
現在のプロジェクトのすべてのリソースを表示します。デフォルトでは、[DataStudio] で次のコマンドを実行して、開発環境の現在の MaxCompute プロジェクトのすべてのリソースを表示できます。
list resources;
特定のプロジェクトのすべてのリソースを表示します。
use MaxCompute project name; list resources;
詳細については、「リソース操作」をご参照ください。
付録 2:管理のために対応するリソースを DataWorks に追加する
[DataStudio] の MaxCompute リソース機能を使用して、200 MB 以下の MaxCompute リソースを DataWorks にロードして、視覚化された管理を行うことができます。詳細については、「MaxCompute リソースの管理」をご参照ください。