使用spark转换文件压缩格式

uxhixvfz  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(470)

我需要更改一堆文件的压缩格式,并用相同的子目录名和文件名输出它们。例如,如果输入如下:

/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来实现吗?

mfpqipee

mfpqipee1#

假设您的文件在hdfs上:如果您的文件是可拆分的,那么spark是一个很好的解密文件的选项。
但是您不能直接将文件(如gunzip)更新到同一位置,因此请将输出写入新位置,然后在删除原始文件后,将新文件移动到原始位置。
确保在删除文件时使用-skiptrash以提高时间效率。

相关问题