【公式】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日_初版発行