Das glaube ich nicht, dass Sie für null bei statement.Instead überprüfen können, können Sie bincond Operator erste Prüfung auf Nullwert verwenden und dann für den Rest ‚foo‘ den Fall Anweisung Werte
A Unter der Annahme, hat nur ein Feld mit Nullwerten in wenigen Zeilen
B = FOREACH A GENERATE (foo is null ? 'something' : (case foo
when 'S' then '1'
when 'W' then '2'
...
else '3'
end));
Beispiel
1 1
2 1
3 1
4 2
Script - Generieren einige Nullen für die Prüfung und ersetzen mit 'etwas'
A = LOAD '/test20.txt' AS (f1:int,f2:int);
B = FOREACH A GENERATE $0;
C = FOREACH A GENERATE $1;
D = JOIN B BY $0 LEFT OUTER,C BY $0;
E = FOREACH D GENERATE $0, ($1 is null ? 'SOMETHING' : (case $1
when 1 then 'One'
when 2 then 'Two'
when 3 then 'Three'
when 4 then 'Four'
else 'UNKNOWN'
end));
DUMP E;
Ausgabe
Warum die downvote, kann ich Informationen hinzufügen müssen? – Andrew
Nicht sicher, warum jemand abgelehnt. Es ist definitiv eine gültige Frage –