Estoy intentando aprender colmena. Sorprendentemente, no puedo encontrar un ejemplo de cómo escribir un simple trabajo de conteo de palabras. Es el siguiente correcto?Programa de recuento de palabras en Hive
Digamos que tengo un archivo de entrada input.tsv
:
hello, world
this is an example input file
creo un divisor en Python para convertir cada línea en palabras:
import sys
for line in sys.stdin:
for word in line.split():
print word
Y entonces he lo siguiente en mi guión Colmena :
CREATE TABLE input (line STRING);
LOAD DATA LOCAL INPATH 'input.tsv' OVERWRITE INTO TABLE input;
-- temporary table to hold words...
CREATE TABLE words (word STRING);
add file splitter.py;
INSERT OVERWRITE TABLE words
SELECT TRANSFORM(text)
USING 'python splitter.py'
AS word
FROM input;
SELECT word, count(*) AS count FROM words GROUP BY word;
no estoy seguro de si me falta algo, o si realmente es thi es complicado (En particular, ¿necesito la tabla temporal words
, y qué tengo que escribir la función de un separador externo?)
mirando a su comentario que implica explotar y lateral en HiveQL, ¿Puede usted por favor, eche un vistazo a esta cuestión de forma, no soy capaz de encontrar la solución para eso, [http: // stackoverflow.com/questions/11373543/explode-the-array-of-struct-in-hive](http://stackoverflow.com/questions/11373543/explode-the-array-of-struct-in-hive). Perdón por contactarte así. – ferhan
@Steve - He cargado los datos en una tabla y cuando ejecuto el comando obtengo 'FAILED: Error en el análisis semántico: null'. ¿Hay algún prerrequisito para ejecutar el comando? –