La ruche: Somme sur un groupe déterminé (HiveQL)

J'ai une table:

key    product_code    cost
1      UK              20
1      US              10
1      EU              5
2      UK              3
2      EU              6

Je voudrais trouver la somme de tous les produits pour chaque groupe de "clé" et d'ajouter à chaque ligne. Par exemple pour la clé = 1, trouver la somme des coûts de tous les produits (20+10+5=35) et ensuite ajouter le résultat à toutes les lignes qui correspondent à la clé = 1. Donc résultat final:

key    product_code    cost     total_costs
1      UK              20       35
1      US              10       35
1      EU              5        35
2      UK              3        9
2      EU              6        9

Je préfère le faire sans l'aide d'un sous-joignez-vous que ce serait inefficace. Ma meilleure idée serait d'utiliser le over de la fonction en collaboration avec le sum fonction, mais je ne peux pas le faire fonctionner. De mon mieux essayer:

SELECT key, product_code, sum(costs) over(PARTITION BY key)
FROM test
GROUP BY key, product_code;

Iv avait un look à la docs mais il y a tellement alambiquées, je n'ai aucune idée de la façon de travailler sur la façon de le faire. Im en utilisant la Ruche v0.12.0, HDP v2.0.6, hortonworks a distribution Hadoop.

Quel est le problème avec vos meilleurs essayer ?
Il donne juste une erreur de syntaxe. Je dois être en utilisant le plus de fonction dans le mauvais sens

OriginalL'auteur joshlk | 2014-08-01