1

、、、のようなマップがあることを証明しました

地図.テキスト

[key1#v1]
[key2#v2]
[key3#v3]

次に、「「key2」の値」を見つけようとすると、

A = load ‘map.text’ as (M:map[]);
B = foreach A generate M#'key2';
C = filter B by $0!='';     // to get rid of empty value like (), (), ().
dump C;

key2 を見つける他の方法はありますか? 「filter by」のみを使用して。

やあ。

4

1 に答える 1

0

GENERATEフィールドを使用する必要はありませんFILTERFILTER最初にステートメントに含めることができます。

A = load 'map.text' as (M:map[]);
B = filter A by M#'key2' != '';
dump B;

データでは、これは 1 つのレコードを返します。

([key2#v2])

補足として、空の文字列が有効な値である場合に備えて、むしろ使用する基準は ですby M#'key2' is not null

于 2013-09-03T17:00:46.940 に答える