Hi, I have a problem while using RANK OVER PARTITION function with Hive.
Hive is in version 0.11 and, as we can see here : https://cwiki.apache.org/Hive/languagemanual-windowingandanalytics.html, we can now use these functions in Hive. But, when i use it, i encountered this error : FAILED: SemanticException Failed to breakup Windowing invocations into Groups. At least 1 group must only depend on input columns. Also check for circular dependencies. Underlying error: org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException: One or more arguments are expected. Here is my script : SELECT mag.co_magasin, dem.id_produit as id_produit_orig, pnvente.dt_debut_commercial as dt_debut_commercial, COALESCE(pnvente.id_produit,dem.id_produit) as id_produit, min( CASE WHEN dem.co_validation IS NULL THEN 0 ELSE 1 END ) as flg_demarque_valide, sum(CASE WHEN dem.co_validation IS NULL THEN 0 ELSE CAST(dem.mt_revient_ope AS INT) END) as me_dem_con_prx_cs, 0 as me_dem_inc_prx_cs, 0 as me_dem_prov_stk_cs, sum(CASE WHEN dem.co_validation IS NULL THEN 0 ELSE CAST(dem.qt_demarque AS INT) END) as qt_dem_con, 0 as qt_dem_inc, 0 as qt_dem_prov_stk, -- !!!!!!!! VIRGULE RANK() OVER (PARTITION BY mag.co_magasin, dem.id_produit ORDER BY pnvente.dt_debut_commercial DESC, COALESCE(pnvente.id_produit,dem.id_produit) DESC) as rang from default.calendrier cal INNER JOIN default.demarque_mag_jour dem ON CASE WHEN dem.co_societe = 1 THEN 1 ELSE 2 END = '${hiveconf:in_co_societe}' -- A modifier AND dem.dt_jour = cal.dt_jour LEFT OUTER JOIN default.produit_norm pn ON pn.co_societe = dem.co_societe AND pn.id_produit = dem.id_produit LEFT OUTER JOIN default.produit_norm pnvente ON pnvente.co_societe = pn.co_societe AND pnvente.co_produit_rfu = pn.co_produit_lip AND pnvente.co_type_motif='05' INNER JOIN default.kpi_magasin mag ON mag.co_societe = '${hiveconf:in_co_societe}' AND mag.id_magasin = dem.id_magasin WHERE cal.dt_jour = '${hiveconf:in_dt_jour}' AND NOT (dem.co_validation IS NULL AND cal.dt_jour > unix_timestamp()-3*60*60*24) -- A verifier -- JYP 4.4 AND dem.co_operation_magasin IN ('13','14','32') GROUP BY mag.co_magasin, dem.id_produit, pnvente.dt_debut_commercial, COALESCE(pnvente.id_produit,dem.id_produit) Thanks. -- *Jérôme VERDIER* 06.72.19.17.31 verdier.jerom...@gmail.com