Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive, mail # user - Problème with min function in HiveQL


Copy link to this message
-
Problème with min function in HiveQL
Jérôme Verdier 2013-08-29, 10:01
Hi everybody,

I am coding some HiveQL script to do some calculations.

I have a problem with the min() function.

My hive script is below :

INSERT INTO TABLE default.THM_CA_RGRP_PRODUITS_SEM

        SELECT
        '${hiveconf:in_co_societe}'               as co_societe,
        '${hiveconf:in_co_an_semaine}'            as co_an_semaine,
        a.type_entite                             as type_entite,
        a.code_entite                             as code_entite,
        a.type_rgrp_produits                      as type_rgrp_produits,
        a.co_rgrp_produits                        as co_rgrp_produits,
        SUM(a.MT_CA_NET_TTC)                      as MT_CA_NET_TTC,
        SUM(a.MT_OBJ_CA_NET_TTC)                  as MT_OBJ_CA_NET_TTC,
        SUM(a.NB_CLIENTS)                         as NB_CLIENTS,
        SUM(a.MT_CA_NET_TTC_COMP)                 as MT_CA_NET_TTC_COMP,
        SUM(a.MT_OBJ_CA_NET_TTC_COMP)             as MT_OBJ_CA_NET_TTC_COMP,
        SUM(a.NB_CLIENTS_COMP)                    as NB_CLIENTS_COMP
      from
        default.THM_CA_RGRP_PRODUITS_JOUR a
      JOIN default.CALENDRIER b
      -- A verifier
      WHERE CAST(a.dt_jour AS TIMESTAMP) >CAST(min(UNIX_TIMESTAMP(b.dt_jour)) AS BIGINT)
      AND CAST(a.dt_jour AS TIMESTAMP) < CAST(min(b.dt_jour)+1 AS TIMESTAMP)
      AND a.co_societe = '${hiveconf:in_co_societe}'
      AND ('${hiveconf:flg_reprise_entite}' = 0 OR a.type_entite<>'MAG')
      GROUP BY
        a.type_entite,
        a.code_entite,
        a.type_rgrp_produits,
        a.co_rgrp_produits;

And, when i try to launch this, i get this error :

FAILED: SemanticException [Error 10128]: Line 20:62 Not yet supported place
for UDAF 'min'

Obviously, there is a problem with min() function.

How can i pass through this error?

Thanks for your help