J'ai un travail d'analyse de flux qui obtient les données d'une source externe (je n'ai pas un mot à dire sur la façon dont les données sont en cours de formatage). J'essaye d'importer les données dans mon lac de données, stockant comme JSON. Cela fonctionne bien, mais je veux aussi obtenir la sortie dans un fichier CSV, c'est là que j'ai des problèmes. Comme les données d'entrée ont un tableau comme colonne, lors de l'importation dans JSON, il les reconnaît et fournit les bonnes données, c'est-à-dire les place entre parenthèses [A, B, C], mais quand je l'utilise en CSV I obtenir la colonne représentée par le mot "Array". J'ai pensé que je le convertirais en XML, utiliserais STUFF et les obtiendrais dans une ligne, mais il n'aime pas utiliser une instruction SELECT dans une APPLICATION CROISEE.Stream Analytics GetArrayElements en tant que chaîne
Est-ce que quelqu'un a travaillé avec Stream Analytics en important des données dans CSV, qui a une colonne de tableau? Si oui, comment avez-vous réussi à importer les valeurs du tableau?
données de l'échantillon:
[
{"GID":"10","UID":1,"SID":"5400.0","PG:["75aef","e5f8e"]},
{"GID":"10","UID":2,"SID":"4400.0","PG:["75aef","e5f8e","6d793"]}
]
PG est la colonne que je suis en train d'extraire, donc devrait ressembler à la sortie CSV.
GID|UID|SID|PG
10|1|5400.0|75aef,e5f8e
10|2|4400.0|75aef,e5f8e,6d793
C'est la requête que je utilise,
SELECT
D.GID ,
D.UID ,
D.SID ,
A.ArrayValue
FROM
dummy AS D
CROSS APPLY GetArrayElements(D.PG) AS A
Comme vous pouvez l'imaginer, cela me donne des résultats dans ce format.
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
Je crois que vous pourriez le faire avec un javascript udf (récemment publié) mais je ne l'ai pas essayé moi-même. Ça vaut le coup d'oeil. –
Merci @PeteM, j'ai suivi votre conseil. :) – PaulFrancis