2015-04-01 11 views
5

Ho cercato di verificare il percentile_approx per un gruppo di utenti. L'intento è quello di ottenere il 25% dei clienti principali nel set di dati. Quindi, per verificarlo, ho eseguito la seguente query HIVE.percentile_approx nell'alveare restituendo zero

select percentile_approx(amount, 0.75) 
from sales 

Tuttavia, il valore restituito da questa query è 0.0. Non sono sicuro di quale sia il problema. Quando eseguo questa query su un campione di pochi record, il risultato è ciò che è previsto.

Qualcuno può per favore far luce su questo?

Nota: sto cercando di trovare il percentile in un set di dati contenente più di 3,3 record M.

+0

forse prova prima il campione? qualcosa come: 'select percentile_approx (quantità, 0,75) dal tablesample di vendita (0,01 percento)' – Sean

risposta

-1
select percentile_approx(cast(amount as double), ARRAY(0.75)) 
from sales 

provare questo metodo

+0

Possiamo vedere che cosa hai cambiato, ma è sempre utile spiegare perché le modifiche possono risolvere il problema dell'OP. – Tom

0

Generalmente percentile_approx() funziona su dati di tipo integer. Assicurati di averlo applicato sulla colonna che contiene numeri interi.

Problemi correlati