Pig UDF が 2 つの異なるタイプのデータ レコードを作成するとします。
Pig スクリプトは、この UDF から返された結合されたタプルのリストを 2 つの別々の方法で処理するにはどうすればよいでしょうか?
例えば:
public Tuple exec (Tuple input) // input ignored in UDF for simplicity
{
Tuple t = TupleFactory.getInstance ().newTuple ();
if (Math.random () < 0.5)
t.append ("less than half");
else
t.append (new Date ());
return t;
}
Pig スクリプトは次のようにする必要があります。
register ...
define myUDF ...
data = load ...;
combinedList = foreach data generate myUDF (data);
stringList = filter combinedList by $0 instanceof java.lang.String; // ??
dateList = filter combinedLists by $0 instanceof java.util.Date; //??
store stringList into ... ;
store dateList into ... ;
ありがとうございました、