我有一个巨大的日志文件,其中包含目录路径作为其中一列。例如,
/
/a
/a/b
/a/b/e
/d
/d/f
/e
日志中没有重复的行。
我的问题是,使用Pig,我如何计算每个目录下的子目录数量而不是多次计算相同的目录名称? 在上面的例子中,所需的结果将类似于以下内容,
/ 6
/a 2
/a/b 1
/a/b/e 0
/d 1
/d/f 0
/e 0
我的方法是首先拆分这些路径中的每一个并为其分配相应的目录深度值。例如,/ a / b将更改为3个新记录,
/ 2
/a 1
/a/b 0
然后我尝试对相似路径进行分组并对每个元组中存在的深度值求和。但是,这些结果是不准确的,因为他们不考虑这样一个事实:对于每个记录,分割的路径将被计数不止一次。 如何实现所需的输出? 任何形式的帮助都非常有用。谢谢。