【dataiku】dataikuのマクロとは?マクロの使い方と作り方
はじめに
dataikuのマクロ機能を使ったことはありますか?
公式のマクロが最初から入っているので、そちらを使用したことがある方は多いのではないでしょうか。
マクロはdataikuを運用していく中で課題になるメンテナンスや監査など、主に管理面での課題解決に役立ちます。
今回はマクロの使い方と作り方をご紹介します。
マクロとは? -レシピとの違い
公式HPには「タスクの自動化やdataikuの機能を拡張するために使用されるコンポーネント」との記載があります。
Excelのマクロを作ったことがある方はマクロのイメージをすでに持っていると思いますが、dataikuでのマクロは少し異なるものと考えると良いです。理由はdataikuには他にも拡張機能があるためです。
Excelのマクロに近いと思われるのはレシピです。レシピはご存じの通り、データに対してノーコードで様々な処理ができます。
一方マクロは、Flowに組み込むことはできず、環境操作やユーティリティに使用します。
具体的には
・メンテナンスおよび診断タスク
・データのインポートのための特定の接続タスク
・データまたはDSSに関するさまざまなレポートの生成
などが可能です。
マクロの使い方
プロジェクト内では環境にインストールされているマクロを使用することができます。
マクロは下記の方法で実行できます。
- プロジェクトの「マクロ」画面から手動実行
- シナリオステップから自動的に実行
- ダッシュボードから実行
1. プロジェクトの「マクロ」画面から手動実行
上部タブからMacroを選択

インストールされているマクロの一覧が出るので、実行したいマクロを選択し「RUN MACRO」をクリックすれば実行されます。

2. シナリオステップから自動的に実行
上部タブからScenariosを選択

新規でシナリオを作成するか、作成済みのシナリオの「ADD STEP」から、「Execute macro」を選択

「Macro」に実行したいマクロを選択し、必要なパラメーターを入力します。

あとはシナリオとして自動実行させることができます。
3. ダッシュボードから実行
上部タブからDashboardsを選択

新規でダッシュボードを作成するか、作成済みのダッシュボードの「+NEW TILE」から「Macro」を選択

実行したいマクロを選択し、ダッシュボード上でのタイトルを入力し「ADD」をクリックするとダッシュボードに追加されます

Insightにマクロが追加されるので、ここでパラメーターの設定をします

マクロの作り方
マクロは自作することも可能です。
コードを書く必要がありますが、よりニーズに合わせた細かい設定を加えることができます。
例えば、公式マクロの「Clear job logs」は「〇日前のログを削除」という設定しかできませんが、「成功したログのみ削除」や「シナリオログは残し、ジョブログのみ削除」ということも可能になります。
しかも、1つ作れば同じ環境内であれば共通のマクロを使用することができるので、管理・運用の標準化にも繋げることができます。
では早速作り方を紹介します。
右上からPluginsを選択

右上の「ADD PLUGIN」から「Write your own」を選択

Plugin idを任意に入力し「CREATE」すると、Pluginの作成画面になります。
右下の「+CREATE YOUR FIRST COMPONENT」から「MACRO」を選択し「ADD」

COMPONENTは複数作ることができ、1つのPlugin idのなかに複数のマクロが作られる、というイメージです。
Identilterを任意に入力し「ADD」するとコード画面になります。

主に編集するのは「plugin.json」、「runnable.json」、「runnable.py」ですが、直接的にマクロの内容になるのは「runnable.json」と「runnable.py」です。
それぞれコードを入力し、保存すれば自作マクロの完成です。
まとめ
いかがだったでしょうか?
ぜひdataikuの管理・運用レベルを向上させるためにマクロも活用してみてください!