1.命令
1.1 hadoop查看数据2.2 创建文件夹命令3.3 上传文件命令 2.上传和下载
2.1 上传2.2 下载 3. 常用hadoop hdfs shell命令
3.1 创建多级目录3.2 查看目录3.3 递归查看多级目录3.4 上传文件到HDFS3.5 查看文件内容(尽量不用)3.6 从HDFS下载文件到本地3.7 删除HDFS上的文件3.8 删除HDFS上的目录(空目录)3.9 强制删除HDFS上的文件夹(不必须空)或文件 4.MapReduce工作流程
1.命令 1.1 hadoop查看数据在hadoop目录中
cd tmp/dfs/data/current/BP-1702078467-192.168.64.101-1642000699987/current/ finalized/subdir0/subdir0/
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写入数据成功.
下载时客户端向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 上传文件到HDFShadoop fs -put 1.txt /test/input
hadoop fs -put 1.txt /test/input/2.txt
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
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
当接收到一个job时,先进行分片,就是根据hdfs上的block把数据分别加载进来,然后进行Map阶段,主要完成数据的转换 *** 作(相当于数据清洗),然后进行Reduce阶段,主要完成数据的聚合 *** 作(把清洗后的数据分别聚合).
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)