🛠️

【DataSpider】使い勝手の良いライブラリたちを公開します

2022/05/29に公開

最初に

DataSpiderに限らずETLツールは利便性がとっても高いのですが、初めて使う人には少しハードルが高かったりします。
でもそれってライブラリやフレームワークが整っていればもっと使いやすくなると思うんです。
そこで今回、ぼくが使用しているライブラリを公開します。
日々ライブラリを改修・強化していっているので、常に最新情報をこちらに載せるようにしますね。

https://twitter.com/RyosanBIMania/status/1529104469413462017?s=20&t=Mxrj2bSCmjQIJnJTzxdTBQ

ホントはライブラリをダウンロードできるようにしたいのですが、バージョン差などの問題もありますので、ご容赦ください。(ここはもうちょっと検討します)

ライブラリとは

DataSpiderの公式な定義はわかりませんが、ここで言うライブラリとは親子関係に分かれるスクリプトのことを指します。
上図の画像のようにScriptTemplateというジョブから今回紹介するような[メール送信][DBログ]などの子ジョブに処理を渡します。
これらの処理群のことをライブラリと呼んでいるのですが、このライブラリをいかに汎用的に作れるかがポイントになります。

他のジョブでも使う機能をコピーしてたくさん作るのではなく、共通の機能としてライブラリ化しておくわけですね。

ライブラリの紹介

さて、こちらの記事ではライブラリの一覧を記載します。
各ライブラリの詳細や受け渡すスクリプト変数については各ライブラリの詳細記事に記載します。

メール送信


メール送信ライブラリはDataSpiderの処理が終了した時に使えます。他にもチャットツールに送信などもできますが、まずは基本のメール送信ですね。

正常終了時、異常終了時の判定をし、メッセージ内容を変更することができます。

引き渡すスクリプト変数は
 実行スクリプトID
 実行スクリプト名
 正常異常フラグ
の3つです。

詳細情報はこちらです。
https://zenn.dev/ryosanbimania/articles/5471921826c30f

処理開始DBログ


ETLツールは自動でログを書いてくれたりしますが、ぼくはデータベースにログを貯めることをオススメしています。
ログをデータベースに蓄積すると、さらに複雑な処理を作りこむこともできますし、この処理がどれくらいかかったかの計算や、エラーの傾向を把握することも可能です。

こちらの記事ではデータベースのどんなテーブル情報にすればログを貯められるかやテーブルの作り方も含めて解説します。

引き渡すスクリプト変数は
 実行スクリプトID
の1つです。

詳細情報はこちらです。
https://zenn.dev/ryosanbimania/articles/9e224b7fe416d0

正常終了DBログ


正常終了DBログは処理開始DBログと合わせて使用します。
メインスクリプトの処理が異常となったときにDBに書き込みます。

引き渡すスクリプト変数は
 実行スクリプトID
の2つです。

詳細情報はこちらです。
https://zenn.dev/ryosanbimania/articles/881531d53ac1a1

異常終了DBログ


異常終了DBログは処理開始DBログと合わせて使用します。
メインスクリプトの処理が異常となったときにDBに書き込みます。

引き渡すスクリプト変数は
 実行スクリプトID
 エラーメッセージ
の2つです。

詳細情報はこちらです。
https://zenn.dev/ryosanbimania/articles/5e1d6ccaec3615

DB Rebuid(Dr.Sum向け)


こちらはDr.Sum限定の話ですが、Dr.Sumは定期的にデータベースを再構築した方が良い場合があります。その処理方法について記載しています。

詳細情報はこちらです。
https://zenn.dev/ryosanbimania/articles/61274375c78436

DB BackUp(Dr.Sum向け)


こちらもDr.Sum限定の話です。他のDBもバックアップが大事ですね。この記事ではDr.Sumの定期的なバックアップ方法について記載しています。

詳細情報はこちらです。
https://zenn.dev/ryosanbimania/articles/9b3e9ebf3ed12d

最後に

今回はライブラリを記事化する方法をとりました。
もっとみなさんが気軽にライブラリをアップロード・ダウンロードできる環境が用意されて、みなさんがDataSpiderをつかってサクサクやりたいことが実現できる世界が来たらいいなと思います。

Discussion