Programa de contagem de palavras no Hive
Estou tentando aprender o Hive. Surpreendentemente, não consigo encontrar um exemplo de como escrever um simples trabalho de contagem de palavras. O seguinte está correto?
Digamos que eu tenha um arquivo de entradainput.tsv
:
hello, world
this is an example input file
Eu crio um divisor em Python para transformar cada linha em palavras:
import sys
for line in sys.stdin:
for word in line.split():
print word
E então eu tenho o seguinte no meu script Hive:
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;
Não tenho certeza se estou perdendo alguma coisa, ou se é realmente complicado. (Em particular, eu preciso do temporáriowords
tabela, e eu preciso escrever a função de divisor externo?)