Hdfs dfs命令使用

如果是把数据放在了hdfs系统,那么我们如何访问他们呢?

1.hdfs查看文件夹

./hdfs dfs -ls hdfs://mycluster/output/online/

2.hdfs创建目录dfs创建文件夹

./hdfs dfs -mkdir hdfs://mycluster/output/online/
./hdfs dfs -mkdir hdfs://mycluster/output/online/pv

这里有个坑,如果你直接创建多级目录,会得到错误提示,所以要一级一级的去建立目录才行!

16/12/22 18:32:54 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: `hdfs://mycluster/output/online/pv': No such file or directory

3.创建hive表


CREATE EXTERNAL TABLE `pv_table`(
`city_name` string,
`pv` string,
`product_line` string)
PARTITIONED BY (
  `day` string)
ROW FORMAT DELIMITED
  FIELDS TERMINATED BY '\t'
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'hdfs://mycluster/output/online/pv')
### HDFS中 `dfs cp` 命令使用方法 在HDFS中,`hdfs dfs -cp` 命令用于在HDFS内部复制文件或目录。该命令的基本语法如下: ```bash hdfs dfs -cp <源路径> <目标路径> ``` 通过此命令,用户可以在HDFS内部将一个文件或整个目录从一个位置复制到另一个位置[^1]。例如,如果需要将文件 `/user/data/file1.txt` 复制到 `/user/backup/` 目录下,可以执行以下命令: ```bash hdfs dfs -cp /user/data/file1.txt /user/backup/ ``` 此外,`hdfs dfs -cp` 也支持递归复制目录。例如,要将目录 `/user/data/` 下的所有内容复制到 `/user/archive/`,可以执行以下命令: ```bash hdfs dfs -cp -r /user/data/ /user/archive/ ``` 需要注意的是,`hdfs dfs` 是专门针对HDFS文件系统设计的操作命令,替代了早期的 `hadoop dfs` 命令,并且更加推荐使用[^2]。 ### 权限管理与注意事项 在执行 `hdfs dfs -cp` 命令时,确保当前用户具有对源路径和目标路径的适当权限。如果遇到权限问题,可以使用 `hdfs dfs -chmod` 和 `hdfs dfs -chown` 命令调整文件或目录的权限和所有权[^3]。例如: - 修改文件权限: ```bash hdfs dfs -chmod 644 /user/data/file1.txt ``` - 修改文件所有者和所属组: ```bash hdfs dfs -chown someuser:somegrp /user/data/file1.txt ``` ### 查看文件内容的相关命令 除了复制文件外,有时还需要查看文件的内容。HDFS Shell 提供了多种命令来查看文件内容,如 `cat`、`tail` 和 `text`。其中,`text` 命令不仅可以查看文本文件,还可以查看压缩文件和 Avro 序列化的文件[^4]。例如: ```bash hdfs dfs -text /user/data/file1.txt ``` ### 示例代码 以下是一个完整的示例,展示如何使用 `hdfs dfs -cp` 命令进行文件复制,并检查其结果: ```bash # 创建测试文件 echo "This is a test file." > testfile.txt hdfs dfs -put testfile.txt /user/data/ # 复制文件到备份目录 hdfs dfs -mkdir -p /user/backup/ hdfs dfs -cp /user/data/testfile.txt /user/backup/ # 验证复制结果 hdfs dfs -ls /user/backup/ hdfs dfs -cat /user/backup/testfile.txt ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值