1

私は次のものを持っています:

(id:int、names:chararray)

そして、IDでグループ化し、名前のバッグを作成します。名前のバッグには、null値が含まれている可能性があります。バッグからnull値を削除するにはどうすればよいですか?

4

1 に答える 1

1

FOREACH でネストされた FILTER を使用して、GROUP BY によって作成されたバッグからタプルを削除できます。

inpt = LOAD '...' as (id: int, names: chararray);
grp = GROUP inpt BY id;
result = FOREACH grp {
   no_nulls = FILTER inpt BY names is not null;
  GENERATE group, no_nulls;
};

または、グループ化する前に null 名をフィルタリングするだけです。

inpt = LOAD '...' as (id: int, names: chararray);
no_nulls = FILTER input BY names is not null;
grp = GROUP no_nulls BY id;
于 2013-02-03T08:43:46.327 に答える