2017-04-08 2 views
0

ストリームアナリティクスとAzure Machine Learningとの間でリアルタイムパイプラインを設定して予測を行います。ストリームアナリティクス - JavaScript関数で改行を追加する

私の問題は、入力と出力の行数が異なるため、すべてのイベントを結合してからAMLに文字列として送信することです。 (collect()関数を使用して、収集したイベントに対してJSON.stringifyを適用します)

[{"list": "2017-03-31T06:22:00.0000000Z \" 、 "var1":1907、\ "var2 \":1925、\ "var3 \":1951}、{\ "date \":\ "2017-03-31T06:23:00.0000000Z \"、\ " "var2 \":1978、\ "var3 \" 2017}] "}]

Webサービスを介してAMLで解析するには、固定文字列と改行を追加する必要があります以下のような

JSON_str

[{ "リスト": "[{\" 日付\ ":\" 2017-03-31T06:22:00.0000000Z \ var1 \ ":1907、\" var2 \ ":1925、\" var3 \ ":1951}、{\" date \ ":\" 2017-03-31T06:23:00.0000000Z \ "、 "var1":1924、\ "var2 \":1978、\ "var3 \" 2017}] "}]

新しい行のデータとして解釈され、固定文字列は常に解釈されるヘッダーとして。

私は

STR1 = [{ "リスト" のすべての組み合わせを試してみました: "[{\" 日付\ 22:::2017-03-31T06 "\" 00.0000000Z \ "\" VAR1 \ "var2 \":1925、\ "var3 \":1951}、{\ "date \":\ "2017-03-31T06:23:00.0000000Z \"、\ "var1 \": 1924年、 "VAR2の\" \:1978、 "VAR3の\" 2017 \}] "}]

新しいSTR = "JSON_STR" + "\ R \ n" + STR1

それは普通のように追加されますテキスト(\ r \ n)であり、改行ではありません。 。 (]質問を追加するとき、私は変数リストを簡略化していたとして 列名の変更を無視しかし、基本的に、私はモデルが列名を仮定し、データの1行を持つ訓練を受けてください http://i67.tinypic.com/16izi29.jpg

:Inputin AML期待

Stream Analyticsに固有の何かが欠けていると感じているので、本当に助けてくれてありがとうございます。

答えて

1

これを私の側でテストしました。Azure Stream AnalyticsでJavaScriptを使用すると、 '\ r \ n' 。

ただし、書式設定されたテキストを表示するには、テキストビジュアライザを使用してください。生データを見るとまだ\ r \ nが表示されます。

ありがとうございます!

JS(Azure Stream Analytics)

+0

フィードバックいただきありがとうございます。私は\ r \ nを示した生の出力を見ていた。しかし、まだ私が持っている1つの質問は、AMLのために必要な形式で出力を変換することです。私がAMLモデルを訓練した方法は、入力データとして1行と1列を期待することです。列ヘッダーは文字列ヘッダー、行値はデータ(上の添付図)となります。 – Sailaja

0

json文字列に問題があります。文字列\"var3\"2017でシンボル:がありません

  1. 、それは\"var3\":2017する必要があります。
  2. listプロパティ値"[{\"date\":\"2017-03-31T06:22:00.0000000Z\",\"var1\":1907,\"var2\":1925,\"var3\":1951},{\"date\":\"2017-03-31T06:23:00.0000000Z\",\"var1\":1924,\"var2\":1978,\"var3\"2017}]"は有効なjson配列ではありません。文字列なので、以下のように変換する必要があります。

    str1= [{"list":"[{\"date\":\"2017-03-31T06:22:00.0000000Z\",\"var1\":1907,\"var2\":1925,\"var3\":1951},{\"date\":\"2017-03-31T06:23:00.0000000Z\",\"var1\":1924,\"var2\":1978,\"var3\":2017}]"}] 
    str1 = str1.replace('"[','[').replace(']"',']') 
    

次に、あなたはvar json1 = JSON.parse(str)経由でJSONオブジェクトとしてそれを解析して、文字列VAR var str1 = JSON.stringify(json1)にJSONオブジェクトを文字列化することができます。

希望します。

関連する問題