hadoop总结

1.命令

1.1 hadoop查看数据

在hadoop目录中
cd tmp/dfs/data/current/BP-1702078467-192.168.64.101-1642000699987/current/ finalized/subdir0/subdir0/

2.2 创建文件夹命令

hadoop fs -mkdir -p /test/input

3.3 上传文件命令

hadoop fs -put a.txt /test/input

2.上传和下载

2.1 上传

(1)client向namenode发送请求(1.确保自己有相关权限,文件是否存在等)
(2)请求文件写入位置
(3)创建Dataoutputstream(文件输出流),创建pipeline(管道),以packet(64k)的方式写入
(4)第一个block最后一个节点写入完成后,返回ack,确认将数据写入(该ack以反向顺序发送回client),client继续写入下一个block(所以写入方式是串行写入).
(5)最后一个block写入完成后,client关闭输出流,并通知namenode写入数据成功.

2.2 下载

下载时客户端向namenode发送请求,得到block的位置,然后客户端看一下哪个副本离自己近,打开一个输入流,并行读入block,然后合并成一个文件,关闭输入流.

3. 常用hadoop hdfs shell命令

ps:hadoop fs 和 hdfs dfs 命令等价

3.1 创建多级目录

hadoop fs -mkdir -p /test/output

3.2 查看目录

hadoop fs -ls /test

3.3 递归查看多级目录

hadoop fs -lsr /test

3.4 上传文件到HDFS

hadoop fs -put 1.txt /test/input
hadoop fs -put 1.txt /test/input/2.txt

3.5 查看文件内容(尽量不用)

hadoop fs -cat 1.txt /test/input

3.6 从HDFS下载文件到本地

hadoop fs -get /test/input/NOTICE.txt /opt/data
hadoop fs -get /test/input/NOTICE.txt /opt/data/NOTICE1.txt

3.7 删除HDFS上的文件

hadoop fs -rm /test/input/2.txt

3.8 删除HDFS上的目录(空目录)

hadoop fs -rmdir /test/output

3.9 强制删除HDFS上的文件夹(不必须空)或文件

hadoop fs -rm -r /test/input
hadoop fs -rmr /test/input

4.MapReduce工作流程

当接收到一个job时,先进行分片,就是根据hdfs上的block把数据分别加载进来,然后进行Map阶段,主要完成数据的转换操作(相当于数据清洗),然后进行Reduce阶段,主要完成数据的聚合操作(把清洗后的数据分别聚合).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值