カスタムアクションでカスタムPythonスクリプトを実行する
この記事は、Data PlatformのPythonデータ処理エンジンを使用するアクションについて説明しています。Apache Sparkクラスターを使用するには、Custom PySpark actionを参照してください
目的
この記事は、Data PlatformのPythonデータ処理エンジンを使用するアクションについて説明しています。Apache Sparkクラスターを使用するには、Custom PySpark actionを参照してください。
カスタムアクション は、スケーラブルなクラウドクラスタ環境でカスタムPythonスクリプトを実行することを可能にします。
プラットフォームのさまざまなコンポーネントと簡単に相互作用するために、Software Development Kit (SDK)を使用して、カスタムアクション は、以下のようなさまざまなユースケースを実装するために使用できます。
- データウェアハウスに対して操作アルゴリズムまたはETLジョブを実行する
- 単純なデータ分析または機械学習アルゴリズムを実行する
- Data Platformマーケットプレイスに利用できないデータソースからデータを抽出する(そのためにコネクタを作成する必要はありません)
- リアルタイムデータ(MQTT、Kafkaなど)を抽出する
カスタムアクションは、Data Processing Engineの全機能を活用できます。典型的には、アルゴリズムの実行を並列化するためのセグメンテーションの力または、即時またはスケジュールされた基準でトリガーされるワークフロー内のオーケストレーションです。
カスタムアクションの設定
プロジェクトのData Processing Engineで、Actionsタブに移動し、New Actionボタンをクリックします。アクションタイプとしてCustomを選択します。
.pyスクリプトを「Drag and drop」セクションにドラッグアンドドロップします。 または、Start with a boilerplateオプションを選択して、プラットフォームのPythonインターフェースで例のコードスニペットから直接開始します。
実行する関数の名前は、画面の上部の情報パネルで手動で入力する必要があります(こことデフォルトで:「customfunc」)。
ソースファイルを編集インターフェースで直接編集したり、必要に応じて新しいファイルをドロップしたりできます。独自のカスタムアクションを開発している場合、Software Development Kit (SDK)で提供されるすべての関数を使用できます。プラットフォームの他のコンポーネントと簡単に相互作用できます。 すべての利用可能なSDK関数についてさらに詳しくは、以下の記事を参照してください。
スクリプトが標準出力または標準エラーに書き込むものは、print()呼び出しを含むすべてのものが、loggingモジュールを通じて発行されたメッセージとともにジョブログに表示されます。
ヘルパーパネルの使用
カスタムアクションエディタにはヘルパーパネルが含まれており、スクリプトを離れずにガイダンスを受けられます。
- シナリオ:カテゴリ別に整理された、使用可能なアクションスクリプトで、コピーしてユースケースに合わせて変更できます。
- SDKガイド:スクリプトから呼び出せるSDKメソッドのドキュメント。
- データ:エディタから直接プロジェクトのデータをブラウズして、コードを書く間に名前と構造を確認できます。
- FAQ:カスタムアクションに関する一般的な質問への回答。
ヘルパーコンテンツは、ノートブックのData Platform Extensionを駆動するライブカタログと同じものです。常に最新です。
依存関係の管理
言語バージョンの設定
カスタムアクションのPythonバージョンを以下のいずれかから選択できます。
- Python 3.11
- Python 3.9 (デフォルトオプション)
ワークフローは、一度に複数のバージョンで実行できません。
利用可能なバージョンを定期的に更新して、ベストプラクティスの開発フレームワークを提供しています。言語バージョンがまだサポートされている限り、既存の作業は新しいバージョンに移行されません。
Pythonパッケージのインストール
デフォルトで含まれていない特定のパッケージをインストールする必要がある場合があります。「pip」(Pythonパッケージマネージャー)の基本的なリクエストファイルで使用される形式に従って、「Python Requirements」フィールドに追加し、キーボードの「ENTER」を押します。
「ENTER」を押した後、このように表示されます。
Always-up実行環境でカスタムアクションを使用している場合、依存関係を更新すると、環境を再デプロイして変更を有効にします。
Gitリポジトリからのパッケージのインストール
git+プレフィックスをリクエストに使用して、GitHubまたはGitLabリポジトリから直接Pythonパッケージをインストールできます。
特定のバージョンを固定するには、タグまたはコミットハッシュを追加します。
最新リリースの自動インストール
バージョンタグを手動で追跡せずに、常に最新の公開リリースをインストールするには、@latestを使用します。
プラットフォームはgit+プレフィックスと@latestサフィックスを検出し、最新のリリースタグを解決してインストールする前に自動的に置き換えます。
Git依存関係を追加または変更した後、Force Buildをクリックして再インストールします。モジュールの新しいバージョンが公開されるたびにタグまたはコミットハッシュを手動で更新する必要はありませんが、最新のリリースは実行時に自動的に取得されません。Force Buildを手動で実行する必要があります。
デフォルトの依存関係リスト
Data Platformは、バグ修正をインストールできるように、バージョンのマイナーバージョンをブロックします。ライブラリのより新しいバージョンが必要な場合は、「Requirements」フィールドに同じパッケージを新しいバージョンで追加して手動でオーバーライドできます。
Data Processing Engineワーカーに同梱されているすべてのパッケージとそのバージョン(pipのリクエストファイルで見つけることができるように)のリストは以下の通りです。
Discover all default Python packages
サンプルスクリプトの例
デフォルトデータセットにファイルを抽出して読み込む例
2つのデータセット間のデータ転送の例
さらに詳しく
ソリューションを実装するためのトレーニングや技術サポートが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして見積もりを受け取り、プロフェッショナルサービスの専門家にプロジェクトのカスタム分析を依頼してください。
専用DiscordチャネルでData Platformを構築するチームと直接質問し、フィードバックを共有し、相互作用できます。
OVHcloudサービスについてサポートが必要な場合は、Help Centreでリクエストを作成してください。
コミュニティのユーザーに参加してください。

