正如我noted previously,猪不空(0字节)文件以及应付。不幸的是,有很多这些文件,可以生成方式(甚至within Hadoop utilitities)。Pig如何在'load'语句中使用Hadoop Globs?
我认为我可以通过使用Hadoop's glob syntax明确加载仅匹配LOAD statement中给定命名约定的文件来解决此问题。不幸的是,这似乎并没有工作,因为即使当我使用水珠往下筛选到已知良好的输入文件,我仍然会碰到0字节的失败mentioned earlier。
下面是一个例子:假设我在S3以下文件:
- mybucket/A/B /(0字节)
- mybucket/A/B/myfile.log(> 0字节)
- mybucket/A/b/yourfile.log(> 0字节)
如果我在猪脚本中使用这样的LOAD声明:
myData = load 's3://mybucket/a/b/*.log as (...)
我预计猪不会对0字节的文件呛,但它仍然没有。让Pig实际上只查看与期望的glob模式相匹配的文件有什么窍门吗?