traduccion - hive meaning
Colmena: UDF y GROUP BY (2)
Pls usa subconsulta para agrupar por.
Hive no admite grupos por valor calculado directamente.
SELECT a.extn, Count(*) AS PerCount, Avg(TimeTaken) AS AvgTime
FROM
(
SELECT GetUrlExt(uristem) AS extn, TimeTaken
FROM LogTable
) a
GROUP BY a.extn;
Tengo un UDF (GetUrlExt) que devuelve la extensión. (ej .: jpg en /abc/models/xyz/images/top.jpg). La información es como se muestra a continuación:
Date Time TimeTaken uristem
9/5/2011 0:00:10 234 /abc/models/xyz/images/top.jpg
9/5/2011 0:00:11 456 /abc/models/xyz/images/bottom.jpg
9/5/2011 0:00:14 789 /abc/models/xyz/images/left.gif
9/5/2011 0:00:16 234 /abc/models/xyz/images/top.pdf
9/5/2011 0:00:18 734 /abc/models/xyz/images/top.pdf
9/5/2011 0:00:19 654 /abc/models/xyz/images/right.gif
9/5/2011 0:00:21 346 /abc/models/xyz/images/top.pdf
9/5/2011 0:00:24 556 /abc/models/xyz/images/front.pdf
9/5/2011 0:00:26 134 /abc/models/xyz/images/back.jpg
La consulta sin ''GROUP BY'' está funcionando bien:
SELECT GetUrlExt(uristem) AS extn FROM LogTable;
Resultado: jpg jpg gif pdf pdf gif pdf jpg
Ahora necesito ''GROUP BY'' en los resultados de la GetUrlExt UDF.
Resultado Esperado:
jpg 3 274.6
gif 2 721.5
pdf 4 467.5
Pero la siguiente consulta no funciona:
SELECT GetUrlExt(uristem) AS extn, Count(*) AS PerCount, Avg(TimeTaken) AS AvgTime FROM LogTable GROUP BY extn;
¡Cualquier tipo de ayuda se agradece!
Puede habilitar grupo por alias o necesita toda la instrucción en grupo por
SELECT GetUrlExt(uristem) AS extn, Count(*) AS PerCount, Avg(TimeTaken) AS AvgTime
FROM LogTable
GROUP BY GetUrlExt(uristem);