Je suit HQLRuche HQL - optimisation clause WINDOW répétitive
SELECT count(*) OVER (PARTITION BY identity.hwid, passwordused.domain ORDER BY event.time ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING) pocet,
min(event.time) OVER (PARTITION BY identity.hwid, passwordused.domain ORDER BY event.time ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING) minTime,
max(event.time) OVER (PARTITION BY identity.hwid, passwordused.domain ORDER BY event.time ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING) maxTime
FROM t21_pam6
Comment puis-je définir les 3 clauses mêmes WINDOW en un seul?
La documentation (https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics ) montre cet exemple
SELECT a, SUM(b) OVER w
FROM T;
WINDOW w AS (PARTITION BY c ORDER BY d ROWS UNBOUNDED PRECEDING)
Mais je ne pense pas que ça fonctionne. Il n'est pas possible de définir WINDOW w car ... n'est pas une commande HQL.
Juste pour répondre à votre question initiale - cela fonctionnera si vous supprimez le point-virgule après 'FROM T'. La clause WINDOW n'est pas une instruction mais une partie de la requête. Probablement, il y avait une faute de frappe dans la documentation à ce moment-là. –