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
:
<code>hello, world this is an example input file </code>
Eu crio um divisor em Python para transformar cada linha em palavras:
<code>import sys for line in sys.stdin: for word in line.split(): print word </code>
E então eu tenho o seguinte no meu 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>
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?)