すべてのプロダクト
Search
ドキュメントセンター

DataWorks:Shellノードを使用してPythonスクリプトを実行する

最終更新日:Jun 13, 2025

DataWorksは、Pythonスクリプトを実行するために使用できるShellノードを提供します。このトピックでは、共通ShellノードまたはE-MapReduce(EMR)Shellノードを使用してPython 2またはPython 3スクリプトを実行する方法について説明します。

背景情報

DataWorksでは、Pythonスクリプトをリソースとしてアップロードできます。共通ShellノードまたはEMR ShellノードでPython 3またはPython 2スクリプトの実行パスを指定して、アップロードされたリソースを参照してPythonスクリプトを実行できます。

前提条件

  • EMR Shellノードを使用するための前提条件については、EMR Shellノードを作成するをご参照ください。

  • 共通Shellノードを使用するための前提条件については、Shellノードを作成するをご参照ください。

  • サードパーティ製パッケージは、使用するリソースグループに基づいてインストールされます。 DataWorksリソースグループでPythonスクリプトを実行する場合は、サードパーティ製パッケージを参照する必要があります。

    • サーバーレスリソースグループ(推奨)を使用する場合は、イメージ管理機能を使用してサードパーティ製パッケージをインストールできます。 詳細については、イメージを管理するをご参照ください。

    • スケジューリング専用の排他的リソースグループを使用する場合は、O&Mアシスタント機能を使用してサードパーティ製パッケージをインストールできます。 詳細については、O&Mアシスタント機能を使用するをご参照ください。

    説明

    インストールするサードパーティ製パッケージは、Python 2Python 3 をサポートしている必要があります。

制限事項

Shellノードを使用してPythonスクリプトを実行する

DataWorksでは、共通ShellノードまたはEMR Shellノードを使用して、リソースを参照することでPythonスクリプトを実行できます。 Pythonスクリプトにアクセスするためのパスは、Pythonのバージョンによって異なります。

  • Python 2: python xx.py

  • Python 3: /home/tops/bin/python3 xx.py

以下のセクションでは、2種類のアクセス方法について詳しく説明します。ビジネス要件に基づいて、Pythonスクリプトを実行する方法を選択できます。

共通Shellノードを使用してPythonスクリプトを実行する

  1. リソースを作成します。

    1. DataStudioページに移動します。

      DataWorks コンソール にログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、[データ開発と運用] > [データ開発] を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

    2. MaxCompute Pythonリソースを作成します。

      DataStudio ページで、目的のワークフローを見つけ、ワークフロー名を右クリックし、[リソースの作成] > [MaxCompute] > [Python] を選択します。 [リソースの作成] ダイアログボックスで、[名前] パラメーターを mc.py に設定し、[作成] をクリックします。

      説明

      mc.py はサンプルのリソース名です。 業務要件に基づいてリソース名を指定できます。

    3. MaxCompute Pythonリソースを編集します。

      MaxCompute Pythonリソースの構成タブで、ノードコードを開発します。サンプルコード:

      Python 3

      print('This is a test text') //テストテキストを出力します

      Python 2

      print "This is a test text" #テストテキストを出力します
    4. リソースの構成タブの上部ツールバーにある 保存 アイコンと 提交 アイコンをそれぞれクリックして、リソースを保存およびコミットします。

  2. リソースを参照します。

    1. 共通Shellノードを作成します。

      DataStudioページで、目的のワークフローを見つけ、ワークフロー名を右クリックし、[ノードの作成] > [一般] > [shell] を選択します。 ノードの作成ダイアログボックスで、名前パラメーターを設定し、確認をクリックします。

    2. リソースを参照します。

      共通シェルノードの構成タブで、[MaxCompute] フォルダーの [リソース] の下にある、[参照したい] mc.py リソースを見つけ、リソース名を右クリックし、[リソースパスの挿入] を選択します。

      共通Shellノードの構成タブに次の図に示す情報が表示されている場合、リソースは共通Shellノードによって参照されています。

      image

  3. 結果を確認します。

    Python 3を使用して共通Shellノードで参照されているリソースを実行する

    1. 共通Shellノードを構成します。

      次のPython 3コマンド実行パスを共通Shellノードの構成タブに追加します。

      ##@resource_reference{"mc.py"}
      /home/tops/bin/python3 mc.py  // Python3 を使用してリソースを実行します
      
    2. image アイコンをクリックします。 警告メッセージで、[実行を続行] をクリックします。 [ランタイムパラメーター] ダイアログボックスで、リソースグループを選択し、カスタムイメージを指定して、[OK] をクリックします。 次の図に示す情報が返されます。

      image

    Python 2を使用して共通Shellノードで参照されているリソースを実行する

    1. 共通Shellノードを構成します。

      次のPython 2コマンド実行パスを共通Shellノードの構成タブに追加します。

      ##@resource_reference{"mc.py"}
      python mc.py // Python2 を使用してリソースを実行します
      
    2. image アイコンをクリックします。 警告メッセージで、[実行を続行] をクリックします。 [ランタイムパラメーター] ダイアログボックスで、リソースグループを選択し、カスタムイメージを指定して、[OK] をクリックします。 次の図に示す情報が返されます。

      image

EMR Shellノードを使用してPythonスクリプトを実行する

  1. リソースを作成します。

    1. DataStudioページに移動します。

      DataWorks コンソール にログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、[データ開発と運用] > [データ開発] を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

    2. EMRファイルリソースを作成します。

      DataStudio ページで、目的のワークフローを見つけ、ワークフロー名を右クリックし、[リソースの作成] > [EMR] > [EMR ファイル] を選択します。 [リソースの作成] ダイアログボックスで、[ファイルソース] パラメーターに [ローカル] を選択し、[アップロード] をクリックして emr.py スクリプトをアップロードします。 次に、[作成] をクリックします。 サンプルスクリプトの内容:

      Python 3

      print('This is a test text') //テストテキストを出力します

      Python 2

      print "This is a test text" #テストテキストを出力します
      説明

      emr.py はサンプルのリソース名です。 業務要件に基づいてリソース名を指定できます。

    3. リソースの構成タブの上部ツールバーにある 提交 アイコンをクリックして、リソースをコミットします。

  2. リソースを参照します。

    1. EMR Shellノードを作成します。

      DataStudioページで、目的のワークフローを見つけ、ワークフロー名を右クリックし、[ノードの作成] > [EMR] > [EMR Shell] を選択します。 ノードの作成ダイアログボックスで、名前パラメーターを設定し、確認をクリックします。

    2. EMRファイルリソースを参照します。

      [リソース][EMR] フォルダーの下にある、参照したい emr.py リソースを見つけ、リソース名を右クリックし、[リソースパスの挿入] を選択します。

      EMR Shellノードの構成タブに次の図に示す情報が表示されている場合、リソースはEMR Shellノードによって参照されています。

      image

  3. 結果を確認します。

    Python 3を使用してEMR Shellノードで参照されているリソースを実行する

    1. EMR Shellノードを構成します。

      Python 3 コマンド実行パス /home/tops/bin/python3 を EMR シェルノードの構成タブに追加します。

      ##@resource_reference{"emr.py"}
      /home/tops/bin/python3 emr.py // Python3 を使用してリソースを実行します
      
    2. image アイコンをクリックします。 [パラメーター] ダイアログボックスで、リソースグループを選択し、カスタムイメージを指定して、[実行] をクリックします。 次の図に示す情報が返されます。

      image

    Python 2を使用してEMR Shellノードで参照されているリソースを実行する

    1. EMR Shellノードを構成します。

      Python 2 コマンド実行パス python を EMR シェルノードの構成タブに追加します。

      ##@resource_reference{"emr.py"}
      python emr.py // Python2 を使用してリソースを実行します
      
    2. image アイコンをクリックします。 [パラメーター] ダイアログボックスで、リソースグループを選択し、カスタムイメージを指定して、[実行] をクリックします。 次の図に示す情報が返されます。

      image