在处理TeraBytes的数据时,对于典型的数据过滤问题,Apache PIG是正确的选择吗?还是让一个自定义的MapReduce代码来完成这项工作更好。
Apache PIG不充当存储层。PIG是一种脚本语言,它简化了可以在Hadoop上运行的代码的创建。PIG脚本被编译成一组Hadoop MapReduce作业,这些作业被提交给Hadoop,并以与任何其他MapReduce任务相同的方式运行。
Hadoop负责数据存储,而不是PIG。
回答您的问题:不,输入数据的大小没有限制。只要输入数据可以通过PIG加载函数解析,并且可以通过Hadoop InputFormats进行拆分。
PIG脚本比标准的Java Hadoop作业更容易、更快地编写,而且PIG有很多巧妙的优化,比如多查询执行,可以让复杂的查询更快地执行。