Sign up to take part
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Added on March 18, 2025 2:07PM
Likes: 0
Replies: 2
現在Pythonレシピを用いて出力するデータセット名に出力日時を加えたいと考えています。
Pythonレシピで出力データセット名に付けたいデータセット名を指定したところ、
<class 'Exception'>: Dataset "データセット名" cannot be used : declare it as input or output of your recipe
というエラーが出ます。
Pythonレシピの入出力で設定したデータセット名のみが利用できないという旨ではあると思うのですが、どうにかして出力データセット名を動的に変更することはできないでしょうか。
少し無理やりなやり方で、意向に沿う形ではないかもしれませんが以下の方法では可能です。
注意点
動的に作成したデータセットやファイルは、Dataikuフロー上では明示的に表示されません。そのため、後続の処理で利用する場合は注意が必要です。
Dataiku内でフロー全体の整合性を保つためには、可能な限り事前に定義された入出力設定を利用することが推奨されます。
おそらく後続の処理での利用も想定された上で動的に名前をつけるのだと思いますが、参考までに。
上記、@tomob さんの回答「1」にヒントを得て、私の環境でも確認してみました。その結果、以下のAPIを利用することで、コードレシピの処理の一番最後にデータセット名を変更することは可能そうな感じでした。
上記APIはDataikuのAdmin APIパッケージを利用するため、Dataiku Cloudでは利用不可ですが、セルフマネージド(インストール版)の場合には利用可能と考えられます。
@tomoyoshi さん、もしこちらの方法が使えそうでしたら(既存データセットの名前を変更する方法なので、実現したいこととは合わないかもしれませんが)、こちらもお試しいただければと思います。使い方としては、以下のようなイメージです。
oldname = "a"
newname = "b"
dataiku.api_client().get_project("TEST1").get_dataset(oldname).rename(newname)