目录

  • ​​查看hdfs上lzo、gz、bz压缩格式的文件​​
  • ​​查看目录​​
  • ​​创建目录​​
  • ​​上传文件​​
  • ​​删除指定文件​​
  • ​​删除指定目录下有共性的所有文件​​
  • ​​删除文件夹及内容​​

查看hdfs上lzo、gz、bz压缩格式的文件

  • lzo
# 查看第一行
hadoop fs -cat /Data/Logs/2018-08-22/2018-08-22_log.lzo | lzop -dc | head -1
  • gz
hadoop fs -cat /shining/temp.txt.gz | gzip -d 



hadoop fs -cat /shining/temp.txt.gz | zcat
  • bz2
hadoop fs -cat /temp/b.bz2 | bzip2 -d

查看目录

hdfs dfs -ls /

hdfs Shell操作_hive

创建目录

hdfs dfs -mkdir /test

hdfs Shell操作_hadoop_02

上传文件

hdfs dfs -put word.txt /input

hdfs Shell操作_hive_03

删除指定文件

hadoop fs -rm /user/hive/warehouse/emp/emp.txt

删除指定目录下有共性的所有文件

# /origin_data/gmall/db目录下存放了,文件名含_inv的文件
hadoop fs -ls /origin_data/gmall/db | grep _inc | awk '{print $8}' | xargs hadoop fs -rm -r -f

hdfs Shell操作_hdfs_04

删除文件夹及内容

假设我的warehouse有2个目录,并且2个目录下各有多个文件,我想把warehouse目录下的所有内容都给删除

hadoop fs -rmr /user/hive/warehouse/*

假设我的warehouse有2个目录,并且2个目录下各有多个文件,我只想把2个目录中的一个给删除

hadoop fs -rmr /user/hive/warehouse/emp

有这么一种情况,我们知道​​hive表中的数据是在hdfs上存储的。​​​当我们在操作hive时,​​想把表给删除了,​​​虽然可以用以上命令进行删除表,但是这样操作后,​​尽管把表给删除了,但是存储在mysql中的元数据(描述原始数据的数据)并没有删除​​,所以不提倡这样的做法。除非原始数据与其它没有任何关联。