使用 MetaDataPropertyValue 筛选 Azure 流分析
Filter on Azure stream analytics using MetaDataPropertyValue
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO
"outputstream"
FROM
"inputstream"
我正在尝试获取元数据 属性 值来过滤数据。使用上面定义的查询,我能够获取元数据 属性 但如何根据此过滤输入流?
"input stream" 是一个物联网集线器,可以从许多设备获取数据。这个元数据 属性 是区分不同产品的东西。 where子句应该写什么?
我尝试使用 WHERE prodfilter = 'product1
'` 但它没有用。
如果你这样使用prodFilter
:
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream
FROM inputstream
WHERE prodFilter = 'product1'
,那么WHERE中的prodFilter
还没有定义。
您应该使用原始表达式,例如:
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream
FROM inputstream
WHERE
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') = 'product1'
或更好的是在不同的步骤中过滤:
WITH step1 AS (
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
FROM inputstream
)
SELECT *
INTO outputstream
FROM step1
WHERE prodFilter = 'product1'
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO
"outputstream"
FROM
"inputstream"
我正在尝试获取元数据 属性 值来过滤数据。使用上面定义的查询,我能够获取元数据 属性 但如何根据此过滤输入流?
"input stream" 是一个物联网集线器,可以从许多设备获取数据。这个元数据 属性 是区分不同产品的东西。 where子句应该写什么?
我尝试使用 WHERE prodfilter = 'product1
'` 但它没有用。
如果你这样使用prodFilter
:
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream
FROM inputstream
WHERE prodFilter = 'product1'
,那么WHERE中的prodFilter
还没有定义。
您应该使用原始表达式,例如:
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream
FROM inputstream
WHERE
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') = 'product1'
或更好的是在不同的步骤中过滤:
WITH step1 AS (
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
FROM inputstream
)
SELECT *
INTO outputstream
FROM step1
WHERE prodFilter = 'product1'