1

次のクエリがあります。

SELECT
[VanList].deviceId
,[VanList].[VanName]
events.[timestamp]
,events.externaltemp
,events.internaltemp
,events.humidity
,events.latitude    
,events.longitude

INTO
    [iot-powerBI]
FROM
    [iot-EventHub] as events timestamp by [timestamp]
    join [VanList] on events.DeviceId = [VanList].deviceId

ここで、iot-eventHub はイベント ハブで、VanList は Azure Storage にアップロードされた参照リスト (csv ファイル) です。

クエリをテストするためにサンプル データをアップロードしようとしましたが、常に 0 行が返されます。

ここに画像の説明を入力

以下は、私のイベント ハブ入力によってキャプチャされた JSON のサンプルです。

    [
   {
      "DeviceId":1,
      "Timestamp":"2015-06-29T12:15:18.0000000",
      "ExternalTemp":9,
      "InternalTemp":8,
      "Humidity":43,
      "Latitude":51.3854942,
      "Longitude":-1.12774682,
      "EventProcessedUtcTime":"2015-06-29T12:25:46.0932317Z",
      "PartitionId":1,
      "EventEnqueuedUtcTime":"2015-06-29T12:15:18.5990000Z"
   } ]

以下は、私の CSV 参照データのサンプルです。

deviceId,VanName
1,VAN 1
2,VAN 2
3,Standby Van

どちらのリストにもデバイス ID 1 が含まれているため、クエリで 2 つを結合できると期待しています。

クエリ構文で「内部結合」と「結合」の両方を使用しようとしましたが、どちらも結合に成功しませんでした。Stream Analytics クエリの何が問題になっていますか?

4

2 に答える 2

2

結合に CAST 関数を追加してみてください。なぜそれが機能するのかはわかりません.VanList参照データ入力にCREATE TABLE句を追加しても同じことは達成されません。しかし、これはうまくいくと思います。

SELECT
[VanList].deviceId
,[VanList].[VanName]
,events.[timestamp]
,events.externaltemp
,events.internaltemp
,events.humidity
,events.latitude    
,events.longitude

INTO
    [iot-powerBI]
FROM
    [iot-EventHub] as events timestamp by [Timestamp]
    join [VanList] on events.DeviceId = cast([VanList].deviceId as bigint)
于 2015-07-01T22:14:00.610 に答える