【Dataiku】コード共有機能を使って効率化!5分でわかるDataikuのShared Code

【Dataiku】コード共有機能を使って効率化!5分でわかるDataikuのShared Code | Tableau-id Press -タブロイド-
eyecatch_dataiku

入社半年が経ちました、kobayashiです。

今回はDataiku Academy のラーニングパス Developerに収録されている「Shared Code」についてご紹介していきます♪

Shared codeとは、その名の通りDataikuでコードを共有することを指します。

Shared codeを活用することができれば、共同作業が可能になったり、コーディングの時間を削減出来たり、プロジェクト内のコードの一貫性を向上させることができます。

ここでは「プロジェクトライブラリ」と「コードサンプル」の2つの手法をご説明します。

プロジェクトライブラリとは

プロジェクトライブラリはPhythonコードなどの再利用可能な関数やスクリプトを保存・共有するための機能です。

ざっくり内容をまとめると

・親プロジェクトのライブラリを他プロジェクトに読み込むことでコードの再利用が可能になる

・一度設定すれば親プロジェクトの変更は子プロジェクトにも自動反映される

何より親プロジェクトでの変更が子プロジェクトに自動反映されるのは、コード管理がしやすいですね!

 

プロジェクトライブラリの使い方

まずLibrary Editordでコードを登録します。

ここではご自身でコードを入力することもできますし、Gitからコードをインポートすることもできます。

Dataiku Academyのチュートリアルに沿って、Gitからコードをインポートし「to_xlsx.py」ファイルに「dataframe_to_xlsx」関数を作成しました。

関数を作成しているプロジェクトを「親プロジェクト」と呼びます(ここではProject A)。

親プロジェクト内で先ほど作成した「dataframe_to_xlsx」関数を呼び出すときはコードレシピからimport関数を使います。

 

次に子プロジェクトから親プロジェクトで作成した「dataframe_to_xlsx」関数を呼び出して使用してみます。

まず、親プロジェクトのURLからプロジェクトキーをコピーします。

Library Editordのexternal-libraries.jsonファイル内に先ほどコピーしたプロジェクトキーをペーストし、SAVEします。

これで親プロジェクトのLibrary Editordに保存された関数が使えるようになります。簡単!

 

あとは親プロジェクトで関数を呼び出した時と同じようにするだけです。

最初にも記載した通り、親プロジェクトで関数を修正すると子プロジェクトに自動反映されます!

 

コードサンプルとは

コードサンプルとは、よく使う処理やカスタム処理のコードスニペットを手軽に利用・共有できる仕組みです。

プロジェクトライブラリでは複雑な関数の保存・呼び出しをすることができる仕組みでしたが、

コードサンプルは「コピペ用テンプレート集」のようなものです。

 

コードサンプルの使い方

コードサンプルはすでにいくつか登録されています。

使いどころとしてはノートブック、コードレシピ、ラボレシピ、Webアプリです。

使い方はどれもほぼ同じで、「{ }CODE SAMPLES 」をクリックし、使用したいサンプルを選択し、コピーもしくはインサートをするだけ。

TAGで絞ったり検索をかけることもできるので、コード初心者でも使いやすくスピーディーにコードを書くことができそうです。

コードサンプルはもちろん自分で追加することもできます。

CODE SAMPLES から「+ADD YOUR OWN」を選択。

名前やコード、Tagを入力し、SAVEすればCODE SAMPLESに追加されます。

追加したCODE SAMPLESはインスタンス全体に反映されるので、同じインスタンス内であればProjectを超えて利用可能です。

 

まとめ

所属するプロジェクトで Shared Code の使い方のルールを決めておけば、時短になるだけでなくコード管理もしやすくなりそうですね。

truestarではDataikuの検討、導入支援や環境構築から導入後の運用まで幅広くサポート可能です。

Dataikuに興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらからご相談ください!