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数据仓库中的数据。
Copyright © qgao 2021-* all right reserved,powered by Gitbook该文件修订时间: 2022-04-26 16:02:06

results matching ""

    No results matching ""