Science話題のKNIME(ナイム)を使ってみた~Tableauとの相性はいかに~2022.7.31株式会社アゼスト齋藤です。データエンジニアとして、Tableauダッシュボード作成から、データ整理まで幅広く担当しております。最近は、お客様と一緒にデータ取得方法の整理から、運用に使うデータソース整備の取り組むことが多くなっております。データプリパレーションには皆様苦労されていると思います。Tableauのコンビネーションでデータプリパレーションとビジュアライズの組み合わせを試してみたので、ご紹介します。KNIMEとは?1データ分析、操作、およびビジュアル化のためのオープンソースのツールです。無料!2グラフィカルインターフェイスに基いてます。クラウドサービスとの連携等)を提供します。加工処理や分析処理の部品(ノード)をドラッグ&ドロップしながらワークフローを作成していくことができます。今回はデータプレパレーションを試してみます。S3上にjson形式で日々蓄積されるトラフィックデータをTableauでモニタリングできるようなビジネスシーンを想定して、以下のような構成でプリパレーションの自動化を試みてみます。KNIMEを使ってみた加工のステップとしては、以下の5つです。1AWSのS3からjsonデータを複数読み込み2json形式から行列形式に変換3ちょっと加工してパブリッシュこんな感じでワークフローを作ってみました。Reader)では、S3のパスを指定するだけでOKです。赤の〇で囲まれた箇所のデータを覗いてみます。右クリックでロードした全てのデータを参照することができます。全てのノードの状態が同じように確認できるので、期待通りの処理が行えているかを一つ一つ確認できるのが非常に嬉しいです。ここからTableauで可視化できるように行列形式に変換します。String型の日付はファイル名に含まれる日付を変数化して付与してみました。最後に青〇で囲まれたノードの状態です。プレパレーションが完了したこの形式ならVizに取り掛かれますね。単純なデータですが、Viz作ってみました。波形が確認できました。それぞれ、ピーク時間とそうでないところに激しく差があることが読み取れるので、リソースを状況に応じて変動できるとコスト最適化につながりそうです。良かったところまとめ使ってみて特に感動した機能を5つご紹介すると・・・1各ノードを通過後のデータが都度見れるノード前後で数値検証できるのでロジックの検証もでき便利でした。処理後の状態でワークフローを保存しておけば、KNIMEを一度閉じても、次に起動したらデータが残っていて見れるので前回処理した結果を見ることができました。重たい処理を改良する際など、再度実行する待ち時間待ち時間を減らすのにも役立ちそうです。2ノード(部品)をフリーワードで検索できる「group」や「join」と打ち込むと、ノードを検索してくれるので、部品の名前を覚えていなくても、行いたい操作のノードが見つかる。※ちなみにノードの種類は1000位あるみたいです。3速いこれは体感してみないとわからないと思うのですが、とにかく速かったです。各ノードの処理進捗が%で見えるので、あとどれくらいかかりそうかわかって良かったです。S3のjsonファイルを読み込みましたが、各種ファイルのみならず、AWSRedshiftをはじめとする各種データベースや、GoogleAnalyticsと接続するためのノードも用意されていました。Onlineそれぞれにデータを直接パブリッシュできるので、運用面でもメリットが大きそうです。Contactクラウド・開発・データサイエンスのことならアゼストまで案件のご相談など、お気軽にお問合せください。