过滤

Javadoc Javadoc


给定一个谓词,过滤掉所有不满足该谓词的元素。也可以基于元素的自然排序,使用与给定值的比较不等式进行过滤。

示例

示例 1:使用谓词进行过滤

PCollection<String> allStrings = Create.of("Hello", "world", "hi");
PCollection<String> longStrings = allStrings
    .apply(Filter.by(new SerializableFunction<String, Boolean>() {
      @Override
      public Boolean apply(String input) {
        return input.length() > 3;
      }
    }));
结果是包含“Hello”和“world”的 PCollection

示例 2:使用比较不等式进行过滤

PCollection<Long> numbers = Create.of(1L, 2L, 3L, 4L, 5L);
PCollection<Long> bigNumbers = numbers.apply(Filter.greaterThan(3));
PCollection<Long> smallNumbers = numbers.apply(Filter.lessThanEq(3));
其他变体包括 Filter.greaterThanEqFilter.lessThanFilter.equal

示例 3:使用 lambda 进行过滤