私は、外部ソースからデータを取得するStream分析ジョブを持っています(データのフォーマット方法については言及していません)。私はJSONとして保存するデータ湖にデータをインポートしようとしています。これは正常に動作しますが、私はCSVで出力を得たいと思っています。これが問題の原因です。ストリーム解析GetArrayElements as String
入力データが列の1つとして配列されているため、JSONで読み込むと、それが認識され、正しいデータが提供されます。つまり、[A、B、C] 「Array」という単語として表される列を取得します。私はそれをXMLに変換し、STUFFを使用して1行で取得すると考えましたが、CROSS APPLYでSELECTステートメントを使用するのは嫌です。
ストリームアナリティクスで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