Programa Word Count en Hive
Estoy tratando de aprender Hive. Sorprendentemente, no puedo encontrar un ejemplo de cómo escribir un trabajo simple de conteo de palabras. ¿Es correcto lo siguiente?
Digamos que tengo un archivo de entradainput.tsv
:
<code>hello, world this is an example input file </code>
Creo un separador en Python para convertir cada línea en palabras:
<code>import sys for line in sys.stdin: for word in line.split(): print word </code>
Y luego tengo lo siguiente en mi script Hive:
<code>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; </code>
No estoy seguro de si me falta algo, o si realmente es tan complicado. (En particular, ¿necesito el temporal?words
tabla, y necesito escribir la función de divisor externo?)