1

私は次のようなrec構造を持っています:

Read_PeopleAll: {PID: bytearray,Read_PropertyTax: {(PropertyID: bytearray,ReadPropertyDS: (PersonID: bytearay,PropertyID: bytearray))}}

実際にPropertyIDにアクセスしようとしていますが、アクセスできません。

    a = foreach Read_PeopleAll {
        b = foreach Read_PropertyTax{

            c =  filter ReadPropertyDS by PersonID is not null;
                generate $0,c;
        };
        GENERATE $0,b;
};
dump a;

しかし、私は次のようなエラーが発生しています:

一致しない入力 '{' は GENERATE を予期しています

別の foreach 内で foreach を使用できるかどうか。

別の方法でアクセスできますが、

a = FOREACH Read_PeopleAll generate Read_PropertyTax.ReadPropertyDS;
IsValidProperty = FILTER a BY PropertyID==1.

助言がありますか!!!

4

1 に答える 1

0

ドキュメントから:

注: FOREACH ステートメントは、2 レベルまでしかネストできません。3 つ以上のレベルにネストされた FOREACH ステートメントは、文法エラーになります。

FOREACH 内に FOREACH をネストすることはできますが、その中に別のネストされた操作を含めることはできません。

于 2013-08-19T15:38:05.977 に答える