码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop shell 操作复制

时间:2014-07-28 15:08:23      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   os   文件   数据   ar   file   

hadoop fs
 列出所有的命令
hadoop fs -help ls
 列出某个命令的详细信息
hadoop dfs -mkdir /data/weblogs
hadoop dfs -mkdir /data/dir1 /data/dir2 ...
 创建文件夹,可以递归创建,可同时创建多个目录
echo "Hello world" > weblog_entries.txt
 创建新的本地文件(无则新建)
hadoop fs -copyFromLocal weblog_entries.txt /data/weblogs
hadoop fs -put weblog_entries.txt /data/weblogs,put可以对整个文件夹进行复制(1.0版之后)
 从本地文件系统复制数据到hdfs上
hadoop dfs -ls /data/weblogs
 列出文件夹下的文件信息
hadoop dfs -cat /data/weblogs/*
hadoop dfs -cat /data/weblogs/* | head -1
hadoop dfs -cat /data/weblogs/* | tail -1
 查看文件内容
hadoop dfs -copyToLocal /data/weblogs/* /
hadoop dfs -get /data/weblogs/* /
hadoop dfs -getmerge /data/weblogs/* /合并后的文件名称 (可将多个文件合并成一个文件下载到本地,其中合并后的文件名称需要指定)
hadoop dfs -get -ignorecrc .....       复制到本地时不进行数据校验(CRC),一般是在数据损坏时复制损坏的数据到本地才使用的
hadoop dfs -get -crc ....复制数据,同时复制crc校验文件
 从hdfs复制文件到本地
 需保证本地文件系统空间可用,和网络传输速度
 几十个TB的数据,传输速率为1Gbit,消耗23个小时
 get无法完成对整个文件夹的复制,put在1.0之后可以完成
-----
原理:
fs FileSystem,各个命令对应这个类的不同方法
默认系统为core-site.xml配置的fs.default.name这个属性,如hdfs://hostname:9000即默认使用hdfs系统,也就是hadoop fs和hadoop dfs是一样的。

 mapreduce输出文件的个数,是由mapred.reduce.tasks的值决定的,可在编程时通过job.setNumReduceTasks(int num)来进行设置,这是客户端参数,非集群参数,对不同的job设置不同的reduce个数。
 默认值为1
 推荐两个数:
 0.95*集群中datanode个数*mapred.tasktracker.reduce.tasks.maximum(配置每个jobtracker可使用的reduce的插槽最大个数)
 或者
 1.75*集群中jobtracker个数*mapred.taskreacker.reduce.tasks.maximum
 原因:
 0.95可保证在map结束后可立即启用所有的reduce进行map结果的处理,只需要一波就可以完成作业。
 1.75 使得运行快的reduce能够再次执行第二波的reduce,保证两拨reduce就能完作业,使作业整体的负载均衡。
 
 
--使用pig演示getmerge
首先创建文件test,内容为
1 hello
2 world
3 url
4 test
5 haha
上传到hdfs的/data/weblogs目录下

test.pig脚本内容
weblogs = load ‘/data/weblogs/*‘ as
(
        md5:chararray,
        url:chararray
);#默认分割方式为tab
md5_grp = group weblogs by md5 parallel 4;#依据md5进行分组,同时设置reduce个数为4
store md5_grp into ‘/data/weblogs/md5_group.bcp‘; #设置reduce的输出目录,此目录下将包含4个reduce输出文件

-----
使用getmerge命令合并reduce的四个输出文件,下载到本地
hadoop dfs -getmerge /data/weblogs/md5_group.bcp 本机文件名(一定要指定文件名)

 

hadoop shell 操作复制,布布扣,bubuko.com

hadoop shell 操作复制

标签:blog   http   使用   os   文件   数据   ar   file   

原文地址:http://www.cnblogs.com/jsunday/p/3872787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!