Apache Pig 如何在加载功能中加入白名单或黑名单?
Posted
技术标签:
【中文标题】Apache Pig 如何在加载功能中加入白名单或黑名单?【英文标题】:Apache Pig How to whitelist or blacklist in Load function? 【发布时间】:2018-08-10 21:30:47 【问题描述】:我想知道是否可以在 Pig 的加载功能中维护白名单或黑名单。假设我正在执行以下操作:
AllData = LOAD '/path/to/dir/CAT*' USING AvroStorage();
这将加载所有以 CAT 前缀开头的文件。
e.g. CAT1, CAT2, CAT3, CAT4, CAT5, CAT6
我想知道是否可以维护一个黑名单以过滤掉假设CAT2, CAT3
或维护一个仅保留CAT1, CAT4, CAT5, CAT6
的白名单。谢谢!
【问题讨论】:
【参考方案1】:您可以通过在大括号中列出所有文件名后缀来创建白名单,例如:
AllData = LOAD '/path/to/dir/CAT1,4,5,6' USING AvroStorage();
【讨论】:
感谢您的建议。理想情况下,我想将其列入黑名单,因为有效路径有数千条,但无效路径很少。 可能有办法在load语句中加入黑名单,但不知道怎么做。一种选择是加载所有文件,加载黑名单,外连接 2 个关系,并过滤掉两者中出现的记录。以上是关于Apache Pig 如何在加载功能中加入白名单或黑名单?的主要内容,如果未能解决你的问题,请参考以下文章
Apache Pig 中的 HCatalog 可以只加载特定分区吗?