2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dataikuのvariablesを使ってみる

Posted at

Dataikuを案件などで本格的に使っていくうえで避けては通れないvariablesについて紹介します。

参考サイト:https://academy.dataiku.com/variables-101/608267

variablesとは

Dataikuのフローやシナリオ、pythonレシピやRレシピなどで使える変数です。
Applicationsやシナリオと組み合わせることで、Dataikuでできることの幅がぐっと広がります。

variablesの定義

プロジェクトの上部のメニューから、Variables設定画面に行くことができます。
image.png

上記VariablesをクリックするとProject variablesを設定する画面になります。
image.png

Project variablesにはGlobal variablesとLocal varialbesの二種類があり、どちらもプロジェクト固有の変数です。次のような違いがあります。

  • Local variablesで定義される変数はインスタンス固有。Design nodeからAutomation nodeにデプロイするバンドルには含まれない。
  • Global variablesは、Automation nodeにデプロイするバンドルに含むことができる。

つまり、実運用で使うvariablesは、Global variablesに設定しなければならないということです。

variablesを試してみる

ここでは簡単に、Visual recipe内でvariablesを試してみます。

プロジェクトのインポート

[+New PROJECT] > [DSS tutorials]>[Advanced Designer] > [Dataiku Applications(Tutorial)]で、Tutorial用プロジェクトをインポートします。
image.png

フローは以下。本来はApplicationsという別の機能の説明用Tutorialを借りてきています。今回、用いるのはこのごく一部。
image.png

最初はフローがBuildされていないので、まずはフローをBuildします。
一番左側のオレンジの丸(ダウンロードレシピ)を右クリックして[Build Flow outputs reachable from here]をクリック。

image.png

デフォルトでBuild required dependenciesが指定されているのでそのまま[BUILD]押下。
image.png

ネットワークの問題で最初のダウンロードでうまくいかない場合は、以下を手動でダウンロードして用います。
https://archive.ics.uci.edu/ml/machine-learning-databases/00502/online_retail_II.xlsx

今回やってみること。

フローの右下、赤枠部分に処理を加えます。
image.png

itemsデータセットをのぞいてみると、'Customer ID'という列があることがわかります。
どうやら、商品ごとの購入顧客IDが記載されているようです。

itemsデータセットの次のフィルタレシピで、Customer IDが13758の顧客のみのデータセットに絞っています。
image.png

実際に、items_of_one_customerデータセットのCustomer ID列を見てみると、顧客IDが全て13758になっていることがわかります。

この、ハードコードされている13758に対して今回はvariablesを設定します。

variablesの設定と実行

冒頭で出てきたProject variables画面でLocal varialbesを以下のように設定します。ちなみにjson形式です。
image.png

さきほどのフィルタレシピで13758とハードコードしていた箇所を"${customer_id}"に書き換えて、右上の[SAVE]クリック
image.png

これでRUNボタン押下により、project variablesのcustomer_idに設定された顧客IDのデータのみを抜き出すレシピになります。

試しに15362に設定してみます。
image.png

フィルタレシピを実行すると、後続のitems_of_one_customerデータセットのCustomer IDが15362になっていることがわかります。
image.png

まとめ

Dataiku DSSのvariablesの設定方法の基本についてやってみました。
今回はvisual recipeで使いましたが、これはpythonコードやシナリオ、Applications、web appと組み合わせて使うことで、非常に実運用で使い倒せる機能となっています。
そのうち、Applicationsやコードでのvariablesの仕様方法についても時間があったらまとめたいです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?