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

DataWorks:Python ノード

最終更新日:Dec 13, 2025

Python ノードは Python 3 構文のみをサポートします。Python ノードを使用して Python コードを実行し、タスクを定期的に実行するようにスケジュールできます。このトピックでは、DataWorks で Python タスクを構成およびスケジュールする方法について説明します。

前提条件

  • 使用する RAM ユーザーがワークスペースに追加されていること。

    RAM ユーザーを使用してタスクを開発する場合、その RAM ユーザーをメンバーとしてワークスペースに追加し、[開発] ロールまたは [ワークスペース管理者] ロールを割り当てる必要があります。ワークスペース管理者ロールには必要以上の権限が含まれているため、割り当てる際には注意が必要です。メンバーの追加とロールの割り当ての詳細については、「ワークスペースへのメンバーの追加」をご参照ください。

  • サーバーレスリソースグループがワークスペースに関連付けられていること。詳細については、「サーバーレスリソースグループの使用」の各トピックをご参照ください。

  • Python ノードが作成されていること。詳細については、「スケジュールワークフローのノード作成」をご参照ください。

注意事項

  • サーバーレスリソースグループで実行されるタスクは、最大 64 CU の構成をサポートします。タスクの起動に影響を与える可能性のあるリソース不足を防ぐため、構成を 16 CU に制限することを推奨します。

  • Python ノードは、Python コードの基本的なランタイム環境のみを提供します。Python コードでサードパーティパッケージをリファレンスするには、カスタムイメージを作成し、必要な依存関係をイメージにインストールしてから、そのイメージを使用して Python ノードを実行する必要があります。

ステップ1:Python ノードの開発

  1. Python ノードのコードを記述します。

    • Python コードを編集します。

      次のコードは、単純なバブルソートの例です。

      def bubble_sort(arr):
          n = len(arr)
          # 外側のループは各トラバーサルを制御します。
          for i in range(n):
              # 内側のループは隣接する要素を比較して交換します。
              for j in range(0, n-i-1):
                  # 現在の要素が次の要素より大きい場合は交換します。
                  if arr[j] > arr[j+1]:
                      arr[j], arr[j+1] = arr[j+1], arr[j]
          return arr
      
      # テストコード。
      if __name__ == "__main__":
          example_list = [64, 34, 25, 12, 22, 11, 90]
          sorted_list = bubble_sort(example_list)
          print("Sorted list:", sorted_list)
  2. コードを開発した後、右側のデバッグ構成をクリックし、リソースグループなどの必要なテスト構成を選択してから、image[実行] ボタンをクリックしてテストできます。

    説明

    Python ノードのデバッグとスケジュールは、サーバーレスリソースグループでのみ実行できます。現在のワークスペースがサーバーレスリソースグループにアタッチされていることを確認してください。詳細については、「サーバーレスリソースグループの使用」をご参照ください。

  3. Python ノードスクリプトを開発およびテストした後、ノードが定期的に実行されるようにスケジュールプロパティを構成します。

  4. タスクのスケジュールを構成した後、ノードを保存します。

ステップ2:ノードの公開とメンテナンス

  1. スケジュールを構成した後、Python ノードをコミットして本番環境に公開します。

  2. 公開されたタスクは、構成されたスケジュールに基づいて定期的に実行されます。[オペレーションセンター] > [タスク O&M] > [定期タスク O&M] > [定期タスク] に移動して、公開された定期タスクを表示し、O&M 操作を実行できます。詳細については、「オペレーションセンター入門」をご参照ください。

個人開発環境でのタスク開発

個人開発環境は Python プログラミングをサポートしています。個人開発環境を使用して Python ノードタスクを編集する方法の詳細については、「個人開発環境」をご参照ください。

ロールの関連付けによるノードの実行

ノードに RAM ロールを関連付けることで、ノードタスクを実行できます。これにより、詳細な権限コントロールとセキュリティ管理が可能になります。