我们将日志存储在 S3 中,我们的一个(Pig)查询将获取三种不同的日志类型。每个日志类型都在基于类型/日期的子目录集中。例如:
/logs/<type>/<year>/<month>/<day>/<hour>/lots_of_logs_for_this_hour_and_type.log*
我的查询想要在一段时间内加载所有三种类型的日志。例如:
type1 = load 's3:/logs/type1/2011/03/08' as ...
type2 = load 's3:/logs/type2/2011/03/08' as ...
type3 = load 's3:/logs/type3/2011/03/08' as ...
result = join type1 ..., type2, etc...
然后我的查询将针对所有这些日志运行。
处理此问题的最有效方法是什么?
- 我们需要使用 bash 脚本扩展吗?不确定这是否适用于多目录,我怀疑如果有 10k 日志要加载,它是否有效(甚至可能)。
- 我们是否创建一个服务来聚合所有日志并将它们直接推送到 hdfs?
- 自定义 java/python 导入器?
- 其他想法?
如果您也可以留下一些示例代码(如果合适的话),那将很有帮助。
谢谢