参考书籍:Hadoop+Spark大数据巨量分析与机器学习整合开发实战(第六章)
(再次吐槽,书中所说的配套博客居然不存在.....http://blog.sina.com.cn/hadoopsparkbook)
启动节点:start-all.sh
创建目录:
hadoop fs -mkdir /user
hadoop fs -mkdir /user/hduser
多级目录:hadoop fs -mkdir -p /xxx/xxx/xxx
查看目录: hadoop fs -ls (-R) (/xxx/xxx/xxx)
查看根目录: hadoop fs -ls /
查看所有目录 hadoop fs -ls
复制本地文件到HDFS hadoop fs
-copyFromLocal /usr/local/hadoop/README.txt /user/hduser/test
hadoop fs -copyFromLocal /usr/local/hadoop/README.txt /user/hduser/test/test1.txt (复制成另一个.txt文件)
(如果重复复制会报:文件已存在,此时可以加 -f 强制复制)
(同时复制多个文件 hadoop fs -copyFromLocal 文件一 文件二 文件三 目标目录)
(也可以直接复制文件夹)
hadoop fs
-put /usr/local/hadoop/README.txt /user/xxx/xxx/xxx
put 和 copyFromLocal的不同:1:put会直接覆盖文件,2:put可以接手stdin,eg:
echo abc | hadoop fs -put - /user/xxx/xxx/xxx
ls /usr/local/hadoop | hadoop fs -put - /xxx/xxx/xxx 用管道符号前侧(输出在显示器上的内容)代替“-”的位置,存在-/xxx/xxx/xxx下。
列出文件内容 hadoop fs -cat /user/wh/test/README.txt
将HDFS上的文件复制到本地计算机
hadoop fs -copyToLocal /xxx/xxx/xxx/
hadoop fs-get /xxx/xxx/xxx 可以是文件,也可以是目录,不过和复制到HDFS不同,从HDFS复制到本地的时候需要先打开本地要接受数据的文件夹,然后再复制,也就是说只有一个参数。
复制和删除HDFS文件(指的是在HDFS中复制文件或目录到另一个HDFS目录)
hadoop fs -cp /user/xxx/xxx/xxx /xxx/xxx/xxxx/xx
hadoop fs -rm /xxx/xxx/xxx/xxx
可以在localhost:50070端口进行查看,下载等操作。