Skip to content

4.2 过滤器

desert edited this page Apr 29, 2018 · 4 revisions

对每个模块都撰写文档是很困难的,我们希望读者能在使用Hawk时举一反三,因此这些介绍主要针对常用且易出错的例子。

由于过滤器最为简单,因此首先介绍它们。过滤器可以在流中,过滤掉不符合条件的文档(也就是横向过滤)。当然也可勾选反向,此时只会留下不符合条件的文档。

你会问,是否有纵向过滤呢(对列过滤)?其实可以做,但是沙漠君懒。多拖入几个删除该列就能解决 。

1.空对象过滤器

最为常用,需要列名,可以过滤掉所有内容为空,或字符串全部都是空字符的情况

2.数值范围过滤

需要列名,可以填写最大值和最小值,只有本列的值处在该范围内的文档可被留下。若该cell的内容不是数字,则忽略。

3.数量范围过滤

不需要列名,它可以跳过并选择部分文档,类似于sql语句中的skip和limit关键字。

注意,当skip数量过大,而目标流是延迟执行时,可能调试模式下skip会需要相当长的时间,而任务进度条没有任何反应。因此尽量避免这种设计。

4.正则过滤

需要列名,输入正则表达式,和其最小匹配的内容数量,即可过滤内容。

介绍正则表达式超过了本文档的范畴,除了正则过滤,还有正则替换,正则分割,因此学习正则对使用Hawk有好处。 可参考网上的“正则表达式30分钟入门教程”