Tôi đang cố gắng học Hive. Đáng ngạc nhiên, tôi không thể tìm thấy một ví dụ về cách viết một công việc đếm từ đơn giản. Có đúng không?Chương trình đếm từ trong Hive
Hãy nói rằng tôi có một tập tin đầu vào input.tsv
:
hello, world
this is an example input file
tôi tạo một splitter bằng Python để biến mỗi dòng vào dòng chữ:
import sys
for line in sys.stdin:
for word in line.split():
print word
Và sau đó tôi đã sau trong script Hive của tôi :
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;
Tôi không chắc chắn nếu tôi thiếu thứ gì đó, hoặc nếu nó thực sự là thi s phức tạp. (Trong đó, tôi có cần phải tạm thời words
bảng, và tôi cần phải viết các chức năng tách bên ngoài?)
nhìn vào nhận xét của bạn liên quan đến phát nổ và xem bên trong HiveQL, bạn có thể vui lòng có một cái nhìn vào SO câu hỏi này, tôi không thể tìm ra giải pháp cho rằng, [http: // stackoverflow.com/questions/11373543/explode-the-array-of-struct-in-hive] (http://stackoverflow.com/questions/11373543/explode-the-array-of-struct-in-hive). Rất tiếc vì đã liên hệ với bạn như thế này. – ferhan
@Steve - Tôi đã tải dữ liệu vào một bảng và khi tôi chạy lệnh tôi nhận được 'FAILED: Lỗi trong phân tích ngữ nghĩa: null'. Có bất kỳ điều kiện tiên quyết nào để chạy lệnh không? –