我想将(git存储库)存档提取到hdfs。
到目前为止我得到的是:
git archive --format=tar --remote=[remote] master | \
tar -xf - --to-stdout | \
hadoop fs -put - /user/username/archivedir/
不幸的是,它只是将所有内容写入hdfs目录中的一个“-”文件,而不是将单独的文件放入它们应该访问的目录和子目录中。我看了一眼tar命令,但它似乎也没有做我想做的。
当然,我可以将tar提取到一个临时本地文件夹并从那里上传,但这并不是最优雅的解决方案。有什么简单而明显的东西我在这里遗漏了吗?
1条答案
按热度按时间6tdlim6h1#
问题似乎是多个文件作为stdin输入。在档案室里翻查档案对我来说很管用。tar.gz中的循环文件
脚本是: