Ich arbeite mit Pig-0.16.0 Ich versuche, zwei Tab-getrennte Dateien (.tsv) mit Schwein Skript zu verbinden. Einige der Spaltenfelder sind vom Integer-Typ, also versuche ich, sie als int zu laden. Aber ich sehe, dass die Spalten, die ich 'int' gemacht habe, nicht mit Daten geladen sind, und sie werden als leer angezeigt. Mein Join gab kein Ergebnis aus, also trat ich einen Schritt zurück und fand heraus, dass dieses Problem beim Laden aufgetreten ist. Ich bin Einfügen einen Teil meines Schwein Skript hier:Apache Pig Ausgabe Nullwerte beim Laden mit Int-Datentyp
REGISTER /usr/local/pig/lib/piggybank.jar;
-- $0 = streaminputs/forum_node.tsv
-- $1 = streaminputs/forum_users.tsv
u_f_n = LOAD '$file1' USING PigStorage('\t') AS (id: long, title: chararray, tagnames: chararray, author_id: long, body: chararray, node_type: chararray, parent_id: long, abs_parent_id: long, added_at: chararray, score: int, state_string: chararray, last_edited_id: long, last_activity_by_id: long, last_activity_at: chararray, active_revision_id: int, extra:chararray, extra_ref_id: int, extra_count:int, marked: chararray);
LUFN = LIMIT u_f_n 10;
STORE LUFN INTO 'pigout/LN';
u_f_u = LOAD '$file2' USING PigStorage('\t') AS (author_id: long, reputation: chararray, gold: chararray, silver: chararray, bronze: chararray);
LUFUU = LIMIT u_f_u 10;
STORE LUFUU INTO 'pigout/LU';
ich lange versucht, mit, aber immer noch das gleiche Problem, nur chararray schien hier zu arbeiten. Also, was könnte das Problem sein?
Snippets aus zwei Eingangs .tsv Dateien:
forum_nodes.tsv:
"id" "title" "tagnames" "author_id" "body" "node_type" "parent_id" "abs_parent_id" "added_at" "score" "state_string" "last_edited_id" "last_activity_by_id" "last_activity_at" "active_revision_id" "extra" "extra_ref_id" "extra_count" "marked"
"5339" "Whether pdf of Unit and Homework is available?" "cs101 pdf" "100000458" "" "question" "\N" "\N" "2012-02-25 08:09:06.787181+00" "1" "" "\N" "100000921" "2012-02-25 08:11:01.623548+00" "6922" "\N" "\N" "204" "f"
forum_users.tsv:
"user_ptr_id" "reputation" "gold" "silver" "bronze"
"100006402" "18" "0" "0" "0"
"100022094" "6354" "4" "12" "50"
"100018705" "76" "0" "3" "4"
"100021176" "213" "0" "1" "5"
"100045508" "505" "0" "1" "5"
Ich würde vorschlagen, [Bearbeitung] (http://stackoverflow.com/posts/38421717/ Bearbeiten Sie Ihre Frage, um einen kurzen Teil der Eingabedateien hinzuzufügen, damit andere Benutzer versuchen können, das Problem zu reproduzieren (siehe auch [MCVE] (http://stackoverflow.com/help/mcve)). – lfurini
suchen Daten geteilt in Frage Daten ist String, wie es zitiert wird, dh "18" ist String Chararray ... –