hadoop总结

文章目录

  • 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 上传文件到HDFS
    • 3.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/

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阶段,主要完成数据的聚合操作(把清洗后的数据分别聚合).

你可能感兴趣的:(大数据,hadoop,hdfs,big,data)