Filter 清管器-在同一过滤器中过滤一个柱两次

Filter 清管器-在同一过滤器中过滤一个柱两次,filter,apache-pig,Filter,Apache Pig,我正在尝试对同一列进行两次筛选。我基本上只想得到一个记录,其中一列的值介于其他两列的值之间 想象一下: (id,year_min,year_max,year) (4470,1999,2001,2011) (4471,2006,2013,2013) 所以像这样过滤是行不通的: filter1 = filter set by (year_min <= year and year_max >= year) 有没有其他方法来过滤它,而不是将过滤器分成几个部分? 此外,所有列都是bytea

我正在尝试对同一列进行两次筛选。我基本上只想得到一个记录,其中一列的值介于其他两列的值之间

想象一下:

(id,year_min,year_max,year)
(4470,1999,2001,2011)
(4471,2006,2013,2013)
所以像这样过滤是行不通的:

filter1 = filter set by (year_min <= year and year_max >= year)
有没有其他方法来过滤它,而不是将过滤器分成几个部分? 此外,所有列都是bytearray

PS:这不是全部,但这基本上是我想要实现的


谢谢。

我想在您的模式中,年和年被交换了。应该是这样的,对吗?id,year\u min,year,year\u max,但您的模式显示id,year\u min,year\u max,year。我修改了模式,对我来说效果很好。你能查一下吗?

事实上,我真的得道歉。我对它进行了过滤,但我没有循环通过该过滤器来生成最终结果。我的模式很好用,你的模式也应该很好用。它如何显示并不重要。你只需要考虑字段的名称。谢谢你的快速回答。你能告诉我什么不起作用吗?你能提供一些更多的信息吗?我错的是,我是这样做的过滤器:过滤器1=过滤器加入按年\分钟=上市\年和价格\分钟=上市\价格;然后我就这样做了:alert_listings=foreach加入generate id as id。。。而不是此警报\u listings=foreach filter1生成id作为id。。。注意前面的变化。所以这里没有问题。它起作用了。