Question
Réponse
sample.json
Events est un Array de Tuple, chacun contenant un champ eventType String et un champ time String. Ce dernier type n’est pas idéal (on préférerait DateTime).
Voyons les données :
_id et channel des événements dont eventType a pour valeur close
time, par exemple pour récupérer tous les événements sur un intervalle de temps donné, mais nous constatons qu’il a été importé en tant que String :
DateTime.
Pour convertir un tableau, on utilise la fonction map :
toTypeName sur les deux tableaux :
id des lignes où time est compris dans un intervalle donné.
nous utilisons arrayCount pour vérifier s’il existe un nombre d’éléments supérieur à 0 dans le tableau renvoyé par la fonction map qui correspondent à la condition x BETWEEN toDateTime('2021-06-18 11:46:00', 'Europe/Rome') AND toDateTime('2021-06-18 11:50:00', 'Europe/Rome')
JSON sans avoir à définir le schéma à l’avance. C’est pratique pour un test rapide ; en revanche, pour une utilisation à long terme des données, dans le cadre de cet exemple, nous préférerions stocker les données avec les types les plus adaptés. Ainsi, pour le champ time, il vaut mieux utiliser DateTime plutôt que String, afin d’éviter toute conversion après la phase d’ingestion, comme illustré ci-dessus. Veuillez consulter la documentation pour en savoir plus sur la gestion de JSON.