博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop streaming -archives 解压jar、zip、tar.gz的验证
阅读量:6006 次
发布时间:2019-06-20

本文共 1768 字,大约阅读时间需要 5 分钟。

hot3.png

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-cdh5.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-cdh5.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、file1、file2

          zip & tar.gz:只有一个,是test_jar的目录名

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

        154442_vjh2_146658.png    154443_8WLd_146658.png        154443_zuV1_146658.png

总结:-archives是一个很实用的参数,但是使用中尤其要注意目录问题。

参考:

http://blog.javachen.com/2015/02/12/hadoop-streaming.html

http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/HadoopStreaming.html#Working_with_Large_Files_and_Archives

http://dongxicheng.org/mapreduce-nextgen/hadoop-distributedcache-details/

转载于:https://my.oschina.net/wangjiankui/blog/474217

你可能感兴趣的文章
Python学习第二天-编写购物车
查看>>
BigTable——针对结构型数据的一种分布式存储系统
查看>>
python之处理异常
查看>>
遍历form表单里面的表单元素,取其value
查看>>
面试110道题
查看>>
python 08 文件操作
查看>>
强势解决:windows 不能在本地计算机中起动Tomcat参考特定错误代码1
查看>>
Gradle 配置debug和release工程目录
查看>>
curl指令的使用
查看>>
LNAMP第二版(nginx 1.2.0+apache 2.4.2+php 5.4)
查看>>
MongoDB repl set权限认证配置步骤
查看>>
java学习笔记(1)
查看>>
禁止Mysql默认端口访问Internet - MySQL - IT技术网
查看>>
基于用户投票的排名算法(二):Reddit
查看>>
css3中变形与动画(一)
查看>>
[XMove-自主设计的体感解决方案] 系统综述
查看>>
【LINUX学习】磁盘分割之建立primary和logical 分区
查看>>
变更 Linux、Ubuntu 时区、时间
查看>>
[共通]手机端网页开发问题及解决方法整理
查看>>
思科分发列表过滤路由(RIP)动态路由协议篇
查看>>