温馨提示  2024年 6月我们已经停止开发者板块文章内容更新,谢谢来访。存档数据
知识 2023-08-25 43 次阅读

hadoop streaming archives解压jar、zip、tar.gz的验证分析

    云计算

本文主要讲解了“hadoop streaming archives解压jar、zip、tar.gz的验证分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“hadoop streaming archives解压jar、zip、tar.gz的验证分析”吧!

1. archives作用描述

    hadoop中distributedcache方法之一(其他参考文章后面的参考文章) ,作用是 将指定文件分发到各个task的工作目录下,并对名称后缀为“.jar”、“.zip”,“.tar.gz”、“.tgz”的文件自动解压,默认情况下,解压后的内容存放到工作目录下名叫做解压前文件名的目录中,比如压缩包为dict.zip,则解压后内容存放到目录dict.zip中。对此,你可以给文件起个别名/软链接,比如dict.zip#dict,这样,压缩包会被解压到目录dict中。

2. 测试jar文件(基本直接摘抄参考文档的)

$ ls test,jar/file  file1    file2 file = this is file1(实验的时候这里搞错了,应该是用file1,对结果无影响,不做修改了)file2 = this is file2$ jar cvf cache.jar -c test,jar/ .$ hdfs dfs -put cache.jar /user/work/cachefile#touch 一个input.txt文件,然后put到 /user/work/cachefile$ hdfs dfs -cat /user/work/cachefile/input.txtcache/file   (cache是解压后的目录名,用#重定义的别名,参加下面的)cache/file2hadoop,home=/home/hadoop/hadoop-2.3.0-cdh6.1.3$hadoop,home/bin/hadoop fs -rmr /cacheout/$hadoop,home/bin/hadoop  jar $hadoop,home/share/hadoop/tools/lib/hadoop-streaming-2.3.0-cdh6.1.3.jar \\ -archives  /user/work/cachefile/cache.jar#cache \\ -dmapred.map.tasks=1 \\ -dmapred.reduce.tasks=1 \\ -dmapred.job.name=experiment \\ -input cachefile/input2.txt  \\ -output /cacheout/ \\ -mapper xargs cat \\ -reducer cat hadoop fs -cat /cacheout/*this is file 2this is file1

3. 测试zip & tar.gz

    分别打包zip , tar.gz的压缩包,put到hdfs继续测试。

-archives  /user/work/cachefile/cache.tar.gz#cache \\    只修改后缀名,会报文件找不到的错误

    查错确认是否能解压,将mapper 改成

-mapper ls cache \\

发现jar文件 结果有4个文件,分别是meta-inf、file、file 1. file2

          zip & tar.gz只有一个,是test,jar的目录名

然后查看3种包的压缩文件,显然是解压成功了,找不到文件的原因是目录问题,这个就要详细研究下3中打包方法了,不再赘述。

                    

感谢各位的阅读,以上就是“hadoop streaming archives解压jar、zip、tar.gz的验证分析”的内容了,经过本文的学习后,相信大家对hadoop streaming archives解压jar、zip、tar.gz的验证分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云,小编将为大家推送更多相关知识点的文章,欢迎关注!