tutorial traduccion meaning game espaƱol com2us hive hiveql

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);