Différents résultats de profiling lors de l'exécution d'analyses de colonnes avec les moteurs Java et SQL
Vous pouvez obtenir des résultats différents lorsque vous exécutez une analyse de colonnes avec des indicateurs Week Frequency et Week Low Frequency, à l'aide du moteur Java ou SQL.
Cela est lié au fait que la fonction de date peut varier entre les différents systèmes de bases de données (SGBD) ou entre différentes installations du même SGBD.
Prenez la fonction WEEK(date [,mode]) de MySQL en tant qu'exemple. Pour plus d'informations, consultez Date and Time Functions. Cette fonction retourne le numéro de semaine pour date . Elle se compose de deux arguments dans un formulaire, vous permettant de spécifier :
- si la semaine commence le dimanche ou le lundi,
- si la valeur de retour doit être comprise entre 0 et 53 ou entre 1 et 53.
Avec le moteur SQL, le Studio Talend utilise la fonction WEEK(date) . L'argument mode est omis et le Studio Talend utilise la valeur mode par défaut, comme défini dans la configuration du SGBD, généralement mode=0, mais cela dépend de votre installation MySQL.
Cependant, si vous devez modifier ce comportement par défaut, vous pouvez créer un indicateur personnalisé (UDI, User Defined Indicator) dans lequel spécifier le mode à utiliser dans le modèle de requête SQL.
Avec le moteur Java, le Studio Talend utilise le paramètre Locale.getDefault() pour connaître les deux arguments listés et obtenir les résultats de l'API Java. Cela signifie utiliser la locale du Studio Talend et non celle du SGBD.
Cela explique pourquoi vous obtenez différents résultats de profiling selon que vous utilisez le moteur Java ou SQL sur des indicateurs de fréquence ou de basse fréquence de semaine ((Low) Week Frequency) et d'autres fonctions de date.