我有一個Stream分析作業,它從外部來源獲取數據(我對數據格式化方式沒有發言權)。我試圖將數據導入到我的數據湖中,並將其存儲爲JSON。這工作正常,但我也想獲得在CSV輸出,這是我有麻煩。Stream Analytics GetArrayElements as String
由於輸入數據有一個數組作爲列之一,所以當以JSON導入時它會識別它並提供正確的數據,即將它們放在括號[A,B,C]中,但是當我在CSV中使用它時獲得表示爲「Array」一詞的列。我想我會將它轉換爲XML,使用STUFF並將它們放在一行中,但它不喜歡在CROSS APPLY中使用SELECT語句。
是否有人使用Stream Analytics將數據導入到CSV中,它具有數組列?如果是這樣,你是如何設法導入數組值的?
的樣本數據:
[
{"GID":"10","UID":1,"SID":"5400.0","PG:["75aef","e5f8e"]},
{"GID":"10","UID":2,"SID":"4400.0","PG:["75aef","e5f8e","6d793"]}
]
PG是我試圖提取列,所以輸出CSV應該是這個樣子。
GID|UID|SID|PG
10|1|5400.0|75aef,e5f8e
10|2|4400.0|75aef,e5f8e,6d793
這是我使用的查詢,
SELECT
D.GID ,
D.UID ,
D.SID ,
A.ArrayValue
FROM
dummy AS D
CROSS APPLY GetArrayElements(D.PG) AS A
正如你能想象,這讓我產生這種格式。
GID|UID|SID|PG
10|1|5400.0|75aef
10|1|5400.0|e5f8e
10|2|4400.0|75aef
10|2|4400.0|e5f8e
10|2|4400.0|6d793
我相信你可以用javascript udf(最近發佈)做到這一點,但沒有嘗試過自己。值得一看。 –
謝謝@PeteM,我遵循了你的建議。 :) – PaulFrancis