ページの先頭行へ戻る
Big Data Integration ServerV1.7.0 利用ガイド

7.2.2 Node-RED連携でのスキーマレス加工の開発

Node-RED連携によるスキーマレス加工のアプリケーション開発について説明します。

7.2.2.1 スキーマレス加工用ノード

Node-RED連携プラグインをインストールすると、Node-REDにスキーマレス加工用のカスタムノードが追加されます。

ノード一覧

Node-RED連携プラグインで提供するノード一覧は以下になります。

表7.1 スキーマレス加工用のノード一覧

グループ

ノード種別

説明

BDIS

deex select

スキーマレス加工機能を用いて、入力データに対し複数の検索式で判定し、条件に一致したデータを抽出します。

deex replace

スキーマレス加工機能を用いて、入力データの形式を変換します。

deex join

スキーマレス加工機能を用いて、ジャーナルデータとマスターデータを連結します。

deex analyze

スキーマレス加工機能を用いて、入力データを集計します。

deex sort

スキーマレス加工機能を用いて、入力データをソートします。

deex keysort

スキーマレス加工機能を用いて、入力データを指定されたキー項目の値ごとのファイルに仕分けします。

ノードの利用方法

スキーマレス加工用ノードの使い方はOSSのオンラインドキュメントおよび各ノードのヘルプ(Node-RED定義画面右に表示)を参照してください。

参照

スキーマレス加工機能の詳細は、“加工編 導入・運用ガイド”、または、“加工編 リファレンス集”を参照してください。

参照

スキーマレス加工用ノードでは以下を定義することはできません。

  • 可変項目

  • 外部コマンド

7.2.2.2 サンプルフロー

以下は“加工編 リファレンス集”の”データの抽出”記載のサンプルプログラムと同等の処理を実行するNode-REDフローをJSON形式でエクスポートしたサンプルフローです。

以下のサンプル例中の<indata.csv, schema.csvの格納先ディレクトリ>は、環境に合わせて適宜修正してください。

[{"id":"2d9c558e.87737a","type":"tab","label":"抽出サンプル","disabled":false,"info":""},{"id":"9f046df1.a11ed","type":"deex select","z":"2d9c558e.87737a","name":"Select","parallelNum":"","cfgCommon":"554ee230.f04fac","logFile":"","inFileType":"CSV","cfgCsvFormat":"abc17460.84e4a8","ankMix":false,"knjMix":false,"skipChar":"","separateChar":"","outLineFeedCode":"LF","quotationMarkMode":false,"errFile":"","errFileMax":"","deTimeOut":0,"deexDef":{"DataEffector":{"Scenario":{"$":{"Name":"Select","IgnoreWarning":true},"Step":{"_":"BDIS@Select"}},"Select":{"$":{"Name":"BDIS@Select"},"BaseDirectory":{"_":"<indata.csv, schema.csvの格納先ディレクトリ>"},"DataFile":{"$":{"InFileType":"CSV","FieldSeparator":"\\,","SchemaFile":"schema.csv"},"File":[{"$":{"Type":"file"}}]},"OutCondition":[{"Query":{"_":"$Kbn=='01'"},"OutFile":{"_":"out1.csv","$":{"Type":"file"}},"$":{"SearchNumber":1}},{"Query":{"_":"%1 AND $Code=='AAA'"},"OutFile":{"_":"out2.csv","$":{"Type":"file"}},"$":{"SearchNumber":2}},{"Query":{"_":"~(%1) AND $Code=='AAA'"},"OutFile":{"_":"out3.csv","$":{"Type":"file"}},"$":{"SearchNumber":3}}],"OutFileOption":{"$":{"OutLineFeedCode":"LF"}}}}},"deOut":[{"dataType":"filename","name":"out1.csv"},{"dataType":"filename","name":"out2.csv"},{"dataType":"filename","name":"out3.csv"}],"outputs":3,"deexType":"Select","listInputFile":[{"type":"msg.filename","filename":""}],"listOutCondition":[{"query":"$Kbn=='01'","listRConditionItem":[],"outType":"filename","outFile":"out1.csv","schemaFile":"","append":false},{"query":"%1 AND $Code=='AAA'","listRConditionItem":[],"outType":"filename","outFile":"out2.csv","schemaFile":"","append":false},{"query":"~(%1) AND $Code=='AAA'","listRConditionItem":[],"outType":"filename","outFile":"out3.csv","schemaFile":"","append":false}],"x":250,"y":320,"wires":[[],[],[]]},{"id":"e0feb05a.5000d","type":"inject","z":"2d9c558e.87737a","name":"クリックで実行","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":120,"wires":[["c2348e5f.b9718"]]},{"id":"c2348e5f.b9718","type":"function","z":"2d9c558e.87737a","name":"入力ファイル名送信","func":"msg.filename = 'indata.csv';\nreturn msg;","outputs":1,"noerr":0,"x":220,"y":220,"wires":[["9f046df1.a11ed"]]},{"id":"554ee230.f04fac","type":"deex cfgCommon","z":"","name":"config","charCode":"","baseDirectory":"<indata.csv, schema.csvの格納先ディレクトリ>"},{"id":"abc17460.84e4a8","type":"deex cfgCsvFormat","z":"","name":"schema","schemaFile":"schema.csv","fieldSeparator":["\\,"],"fieldSeparatorMode":false,"skipHeader":false}]