デジタル推進課

KNIME・Excel Macro・Power Automateなど日々の業務で使用できる自動化ツールを中心に書き綴ります

KNIME - [使いすぎ注意] 中間処理テーブル・離れた場所にTableの受け渡しをするには? ~Table Reader / Table Writer~

 

f:id:makkynm:20210522111804p:plain

 

はじめに

こんにちは、今回は中間テーブルを作る方法についてご紹介します。

内容自体かなり単純で使い勝手がいいものですが、使いすぎ注意です!

これをワークフローに組み込むのは、あまりオススメしていません。多用しすぎると訳がわからなくなるからです。

 

 今回のテーマ ~Table Reader / Table Writer~

f:id:makkynm:20210522112008p:plain

 今回のテーマ ~Table Reader / Table Writer~

 

覚えてほしいこと

使いすぎ注意!

.tableという拡張子はKNIME独自のテーブル出力形式

 

やりたいこと

MetaNode下でExcelから読み込んだテーブルを、一度出力して別の場所でまた読み込む

ということをやりたいと思います。

 

例えばこんな場面が考えられると思います。

  • 受け渡したいテーブルが離れた場所にある(別のWorkflowで参照する・階層の深いMetaNodeから別の階層の深いMetaNodeに渡す)
  • 中間処理テーブルのような使い方をしたい(処理の過程でマスタの数字を徐々に変化させたい)
  • KNIMEの処理NodeのTrainingをする際、Excel Reader等最初の読み込み部分で止まっていて欲しくない

 

Table Reader / Table Writerの使い方

.tableというKNIME独自のTableをやり取りするNodeです。KNIME独自のファイルなので、読み込み・書き出し処理が格段に早いです。

KNIMEのWorkflow内でTableをやり取りしたい場合や、中間処理テーブルとして使いたい場合などに有効です。ただし使いすぎるとWorkflowが訳分からなくなるので、多用するのはオススメしません。

 

Workflow - Table Reader / Table Writer

このように、MetaNode下で一度Table Writerで吐き出されたTableをTable Readerで再度読み込むことができるので、離れた場所のデータのやり取りや、中間テーブルとして使用することができます。

f:id:makkynm:20210522105030p:plain

Workflow - Table Reader / Table Writer

 

f:id:makkynm:20210522105100p:plain

Workflow - Table Reader / Table Writer - MetaNodeの中身

 

 

Workflowは下記リンクからダウンロードできます。

kni.me

Confirm - Table Writer / Table Reader

ここではExcel Readerで読み込んだ内容(Table Writerで書き出された内容)と、Table Readerで読み込んだ内容を比較してみましょう。

全く同じテーブル(データ型や数字など)になっていると思います。

f:id:makkynm:20210522105439p:plain

Confirm - Excel Readerで読み込んだ内容(Table Writerで書き出したもの)

f:id:makkynm:20210522105519p:plain

Confirm - Table Readerで読み込んだもの

Configure - Table Writer

まずはTable Writerで書き出すのが先ですね。Configureを見ると驚くほどシンプルなことがわかります。

f:id:makkynm:20210522105805p:plain

Configure - Table Writer

 

書き出す場所と上書きしてOKかどうかしか設定項目がありません。

拡張子が「.table」がポイントです。これはKNIMEのTable独自の拡張子です。

これは相対パスを使っていますが、Browseから指定する絶対パスを使用しても問題ないです。

knime://のプロトコルを使う場合は必ず上書きOKという設定になります。

 

Configure - Table Reader

続いてTable Readerです。こちらも設定項目はほとんどありません。

f:id:makkynm:20210522110212p:plain

Configure - Table Reader

 

先ほどTable Writerで書き出したファイルを読み込みます。設定項目はファイルパスくらいです。

 

  • Limit number of rows:行数の読み込み制限(最初の何行かしか読み込みたくない!というときはこのOptionをONにします)
  • Connect timeout (ms):タイムアウト設定(クラウドにあるTableを読み込む際、時間制限を設定することにより、読み込みができなかったときにエラーにすることができます。単位はミリ秒です) 

 

おわりに

お疲れ様でした。このNodeも使い方を工夫すればかなり便利Nodeに変身します。ぜひうまく使ってみてください。

 

一日1回押していただけると大変応援になります↓ 

にほんブログ村 IT技術ブログへ

 

 

余談 

現在徐々にですが、KNIME Hubに今まで紹介したWorkflowをUploadしています。これにより、Workflowがダウンロードできるのでより学習しやすくなると思います。

アップロード自体は簡単なのですが、タグ付けなどがかなり面倒なのでちょっと時間かかってます。。気長にお待ちいただければと思います。

 

参考リンク