Ich versuche, Hive zu lernen. Überraschenderweise kann ich kein Beispiel dafür finden, wie man einen einfachen Wortzähljob schreibt. Ist das Folgende korrekt?Word Count-Programm in Hive
Lassen Sie uns sagen, ich habe eine Eingabedatei input.tsv
:
hello, world
this is an example input file
ich einen Splitter in Python erstellen jede Zeile in Worte zu drehen:
import sys
for line in sys.stdin:
for word in line.split():
print word
Und dann habe ich folgendes in meinem Hive Skript :
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;
Ich bin nicht sicher, ob ich etwas vermisse, oder wenn es wirklich thi ist s kompliziert. (Insbesondere muss ich die temporäre words
Tisch, und muss ich die externe Splitter-Funktion schreiben?)
an Ihrem Kommentar sucht Einbeziehung explodieren und Seitenansicht in HiveQL, Können Sie bitte einen Blick in diese Frage SO nehmen, ich bin nicht in der Lage, die Lösung für das finden, [http: // stackoverflow.com/questions/11373543/explode-the-array-of-struct-in-hive](http://stackoverflow.com/questions/11373543/explode-the-array-of-struct-in-hive). Entschuldigung, dass ich dich so kontaktiere. – ferhan
@Steve - Ich habe die Daten in eine Tabelle geladen und wenn ich den Befehl ausführen bekomme ich 'FAILED: Fehler in der semantischen Analyse: null'. Gibt es Voraussetzungen zum Ausführen des Befehls? –