Программа 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 таблица, а мне нужно написать функцию внешнего сплиттера?)

Ответы на вопрос(1)

CREATE TABLE docs (line STRING);
LOAD DATA INPATH 'text' OVERWRITE INTO TABLE docs;
CREATE TABLE word_counts AS
SELECT word, count(1) AS count FROM
(SELECT explode(split(line, '\s')) AS word FROM docs) w
GROUP BY word
ORDER BY word;

Ваш ответ на вопрос