【公式】HULFT IoT EdgeStreaming Mapperリファレンス_2021年7月1日_初版発行

機能制限

HULFT IoT EdgeStreamingには、以下の共通の機能制限があります。

 

(1) 浮動小数点型の扱い

浮動小数点型の値は、演算または他システムへの書き込みによって、値の誤差(桁落ち、情報落ち)が発生する場合があります。

例)

  • Mapperの「数値」-「演算」-「足し算」ロジックに「0.05」と「0.01」を入力すると、出力データは「0.060000000000000005」となります。

  • Mapperの「数値」-「演算」-「足し算」ロジックに「1.2345678901234567」と「100000000」を入力すると、出力データは「1.000000012345679e+08」となります。

  • SQL Server のBIGINT型のカラムに浮動小数点型の「9223372036854775000.0」を書き込みした場合、HULFT IoT EdgeStreamingは処理によって、値は「9223372036854774784」となります。

  • SQL Server のMoney型のカラムに浮動小数点型の「922337203685477.5807」を書き込みした場合、以下のエラーが発生し書き込むことができません。

    could not exec statement: mssql: 値 = 922337203685477.620000 は型 money では算術オーバーフロー エラーになります。

  • PostgreSQL のMoney型のカラムに浮動小数点型の「92233720368547758.07」を書き込みした場合、以下のエラーが発生し書き込むことができません。

    pq: value \"92233720368547760\" is out of range for type money

  • MySQL のBIGINT型のカラムに浮動小数点型の「9223372036854775000.0」を書き込みした場合、HULFT IoT EdgeStreamingは処理によって、値は「9223372036854774784」となります。

    また、浮動小数点型の「9223372036854776000.0」を書き込みした場合、値は「9223372036854775807」となります。

 

(2) 整数型の最大値と最小値

整数型の最大値と最小値は以下になります。

最大値:9223372036854775807

最小値:-9223372036854775808

Mapperによる演算結果が最大値を超える場合、演算結果の値はオーバーフローします。

また、演算結果が最小値を下回る場合は、演算結果の値はアンダーフローします。

 

(3) 浮動小数点型の最大値と最小値

浮動小数点型の最大値と最小値は以下になります。

最大値:1.7976931348623157e+308

最小値:-1.7976931348623157e+308

Mapperによる演算結果が最大値を超える場合、演算結果の値はオーバーフローします。

また、演算結果が最小値を下回る場合は、演算結果の値はアンダーフローします。

なお、演算によって値の誤差(桁落ち、情報落ち)が発生する場合があります。

 

(4) セキュリティソフト

HULFT IoT EdgeStreamingのプロセスがセキュリティソフトで検出された場合、ブロックされる可能性があります。

その際は、お使いのセキュリティソフトウェアにて、以下のディレクトリを検知対象から外してください。

  • server/bin

  • server/es-agent

  • client/bin

 

(5) スクリプト変数の使用

Mapperロジックのプロパティ設定ダイアログでは、入力可能なすべてのフィールドに、スクリプト変数を指定することはできません。

 

(6) 値の型変換

Mapperロジックに入力される値は、自動で型変換は行われません。例えば、文字列型の数字をそのまま演算に使用してもエラーとなります。この場合、文字列型を数値に変換してから、演算に使用してください。

例)

Mapperロジックの「数値」-「演算」-「足し算」ロジックで文字列型の“1”を入力した場合、エラーが発生します。

この場合、以下のロジックを使用して、文字列型を数値に変換してから、「足し算」ロジックを実施してください。

  • 「数値」-「基本」-「整数値に変換」ロジックを使用して、文字列型の値を整数型に変換

  • 「数値」-「基本」-「浮動小数点値に変換」ロジックを使用して、文字列型の値を浮動小数点型に変換

 

(7) ストリームフロー

スクリプトキャンバスで、Mapperからほかのオペレーションへストリームフローを引いた際、マッピングキャンバスの「出力先」-「出力データ」配下に表示されるスキーマのツリーの場合、一番最後に引いたオペレーションの入力スキーマが有効となります。

 

(8) 整数型と浮動小数点型の演算結果

以下のロジックに整数型と浮動小数点型の値を入力した場合、演算結果の型は浮動小数点型となります。

このため、演算によって、結果の値の誤差(桁落ち、情報落ち)が発生する場合があります。

  • 「数値」- 「演算」 - 「足し算」ロジック

  • 「数値」- 「演算」 - 「引き算」ロジック

  • 「数値」- 「演算」 - 「掛け算」ロジック

  • 「数値」- 「演算」 - 「割り算」ロジック

  • 「数値」- 「演算」 - 「余り」ロジック

 

(9) 出力先スキーマ

出力先のスキーマで、子要素を持つ要素にマッピングリンクを引くと、EdgeStreaming Runtimeを実行した際にエラーが発生する場合があります。

子要素を持つ要素にはマッピングリンクを引かないでください。

 

 

【公式】HULFT IoT EdgeStreaming Mapperリファレンス_2021年7月1日_初版発行