2016-04-12 35 views
2

私はストリーム分析を使用してリアルタイムでいくつかのRFIDデータを処理しています。 RFIDリーダーからのイベントは、イベントハブを入力として送信しています。今は、イベントの時刻が「TimeStamp」のようなUNIXの時刻形式であるという問題に直面しています。1460471242.22402「質問をテストすると非常に奇妙です(ジョブを開始せずに入力からサンプルデータを使用する)、UNIXの時刻は "2016-04-12T14:48:00.0000000Z"に変更されましたが、SAジョブを開始すると失敗し、 'timestamp'列がISO 8601規格に準拠していないと言われました。 ?変更せずにSAで標準の日付フォーマットに入力生データをUNIX時間を変換する方法は 私のクエリは簡単なようである: EPCValueを選択 、アンテナ、System.TimeStampタイムスタンプAzureストリーム解析でUnix時間を日付に変換する

によって データ入力のタイムスタンプFROM データ出力 INTO時間 AS

答えて

2

こちらをご覧くださいこのページからのサンプル。それは、ティップのための https://msdn.microsoft.com/en-us/library/mt573293.aspx

+0

おかげで、私はこれを試してみましたが、それは動作しませんSQLのdatetimeフォーマットにUNIX時間を変換する方法について説明し、私はこれに私のクエリを変更:時間、 アンテナとして System.Timestampを選択 FROM datainput TIMESTAMP BY DATEADD(ミリ秒、epochtime、 '1970-01-01T00:00:00Z')。エラーマッシジは、「不適切なタイムスタンプによるイベントのドロップです。ストリームアナライザは、DateTime値のISO8601形式のみをサポートしています。私はどこでも間違っていましたか? –

+0

DATEADDが引数として整数型しか使用できないという制限があることを知りました。あなたのデータが整数型であることを確認してください。エラーメッセージをより具体的にするための修正を加え、DATEADDを変更してfloat引数を受け入れるようにします。 –

+0

また、これを一時的な回避策として使用して、ストリーム分析内で値を整数に変換することもできます。SELECT System.Timestamp as Time、Antenna FROM inputeh DATEADD(ミリ秒、CAST(CAST(epochtime AS float)as bigint)、1970 -01-01T00:00:00Z ') –

関連する問題