2013-08-19 71 views
1

我有REC结构是这样的:的foreach里面的foreach猪

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

其实我试图访问物业ID,但无法做到这一点。

a = foreach Read_PeopleAll { 
     b = foreach Read_PropertyTax{ 

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

但我gettign错误是这样的:

不匹配输入 '{' 期待GENERATE

我是否可以能够使用其他的foreach里面的foreach。

在可替代的方式,我能够访问,

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

任何建议!

+0

尝试FLATTEN(ReadPropertyDS)而不是嵌套的foreach – Oleksii

回答

0

docs

注:FOREACH语句可以嵌套到只有两个级别。嵌套到三个或更多级别的FOREACH语句将导致语法错误。

您可以将FOREACH嵌套在FOREACH中,但不能在其中嵌套另一个操作。