TreeviewCopyright © qgao 2021-* all right reserved, powered by aleen42
HDFS操作--使用shell命令
微博HDFS案例。
1 HDFS shell命令
hdfs [options] subcommand [subcommand options]
subcommand
: 子命令。
1.1 dfs子命令
HDFS shell客户端支持多种文件系统,如:
- 本地文件系统: file:///
- 自身的分布式文件系统:hdfs://nn:8020
- 谷歌的分布式文件系统:gfs...
- 等
hdfs dfs -ls file:/// #操作本地文件系统
hdfs dfs -ls hdfs://node1:8020/ #操作hdfs文件系统
hdfs dfs -ls / #根目录,因为没有指定协议,因此对应的文件系统取决于fs.defaultFS属性的值
1.2 命令更新
- hadoop dfs: 过时
- hdfs dfs: 常用
- hadoop fs: 官方推荐
2 更多命令
hadoop fs -mkdir:新建目录
hadoop fs -ls:查看当前目录
hadoop fs -put:上传到dfs
hadoop fs -copyFromLocal:上传,原本地文件被删除
hadoop fs -cat:查看文件
hadoop fs -head:查看文件首部一K的内容
hadoop fs -tail:查看文件尾部一K的内容,加上-f,可实时查看到其它进程对文件追加的内容
hadoop fs -get:下载到本地
hadoop fs -getmerge:合并成一个文件下载到本地
hadoop fs -cp:复制
hadoop fs -appendToFile:将其它文件的内容追加到目的文件的尾部,这种写方式是允许的
hadoop fs -df:查看可用空间量
hadoop fs -du:查看文件使用的空间量
hadoop fs -mv:移动
hadoop fs -setrep:修改指定文件副本个数
3 微博用户数据hdfs操作示例
目录规划
- /source:用于存储原始采集数据。
- /common:用于存储公共数据集,如:IP库、省份信息、经纬度等。
- /workspace:工作空间,存储各团队计算出来的结果数据。
- /tmp:存储临时数据,每周清理一次。
- /warehouse:存储hive数据仓库中的数据。