Программа Word Count в Hive
Я пытаюсь выучить улей. Удивительно, но я не могу найти пример того, как написать простую работу по подсчету слов. Правильно ли следующее?
Допустим, у меня есть входной файлinput.tsv
:
<code>hello, world this is an example input file </code>
Я создаю разделитель в Python, чтобы превратить каждую строку в слова:
<code>import sys for line in sys.stdin: for word in line.split(): print word </code>
И тогда у меня есть следующее в моем скрипте 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>
Я не уверен, что я что-то упустил, или это действительно сложно. (В частности, нужен ли мне временныйwords
таблица, а мне нужно написать функцию внешнего сплиттера?)