我需要更改一堆文件的压缩格式,并用相同的子目录名和文件名输出它们。例如,如果输入如下:
/user/me/project/2017-3-06/ {part-r-00001.lzo, part-r-00002.lzo, ...}
/user/me/project/2017-3-07/ {part-r-00001.lzo, part-r-00002.lzo, ...}
/user/me/project/2017-3-08/ {part-r-00001.lzo, part-r-00002.lzo, ...}
预期输出应为:
/user/me/project_v2/2017-3-06/ {part-r-00001.lz4, part-r-00002.lz4, ...}
/user/me/project_v2/2017-3-07/ {part-r-00001.lz4, part-r-00002.lz4, ...}
/user/me/project_v2/2017-3-08/ {part-r-00001.lz4, part-r-00002.lz4, ...}
我应该用spark来实现吗?
1条答案
按热度按时间mfpqipee1#
假设您的文件在hdfs上:如果您的文件是可拆分的,那么spark是一个很好的解密文件的选项。
但是您不能直接将文件(如gunzip)更新到同一位置,因此请将输出写入新位置,然后在删除原始文件后,将新文件移动到原始位置。
确保在删除文件时使用-skiptrash以提高时间效率。