Erreurs fréquentes dans Apache Hop
Dimension Date
Problématique
La dimension date ne peut pas utiliser de nœud Dimension Lookup car celle-ci contient trop d'éléments. Le chargement de cette dimension dans le cache provoquerait une surcharge mémoire et ferait crasher le cluster Kubernetes.
Solution recommandée
Il est nécessaire d'utiliser une conversion de la date directement dans la clause SELECT de l'étape Table Input.
Format des clés : YYYYMMDD
Exemple de conversion SQL :
TO_CHAR(t."createdAt", 'YYYYMMDD')::int AS date_created_key,
Dimension Temps
Alternative possible
Pour cette table, il est également possible de passer par une conversion SQL, même si celle-ci n'est pas strictement nécessaire contrairement à la dimension date.
Format des clés : HHmmSS
Exemple de conversion SQL :
(TO_CHAR(t."createdAt", 'HH24MI') || '00')::int AS time_ouverture_key
Note : La concaténation avec
'00'permet d'obtenir une précision à la seconde en fixant les secondes à00.
Dimension représentant un énuméré
Problématique
Les colonnes de type énumération contiennent des valeurs string qu'il faut transformer en clés entières pour les dimensions.
Solution recommandée
Utiliser un nœud Value Mapper pour faire le lien entre la valeur string et la clé int, puis un nœud Select Values pour modifier les métadonnées de la colonne (type → Integer).
Exemple de mappage :
"TODO" -> 1
"IN PROGRESS" -> 2
"DONE" -> 3
Note : L'utilisation d'une dimension dédiée pour un enum n'est pas obligatoire — il est possible d'agréger directement dans le SQL (GROUP BY) sur la colonne string si cela convient au cas d'usage.