背景
在本地记事本记得太多了,有的命令使用频次很低,时间长了容易忘记,分享出来后续使用时查找
常用命令
- 列出数据库下的所有表
hadoop fs -ls /user/hive/warehouse/test.db
- 统计数据库占用磁盘的总大小
hadoop fs -du -s -h /user/hive/warehouse/test.db
- 查看数据表中的数据
hadoop fs -cat /user/hive/warehouse/test.db/test/00000_0 | head
- 设置副本数
Hadoop默认是3个副本,replication factor 副本因子
hadoop fs -setrep -R 1 /user/hive/warehouse/test.db/test
- 创建文件夹
hadoop fs -mkdir /user/datashare
- 修改文件权限
hadoop fs -chmod 700 /user/datashare
hadoop fs -chmod -R 700 /user/datashare #递归进行,针对子文件夹
- 检查HDFS中的文件是否存在
hadoop fs -test -e /user/hive/warehouse/test.db/test/0*
- 统计文件个数
hadoop fs -ls -h /user/hive/warehouse/test.db/test/dt=202310 | wc -l
hadoop fs -count /user/hive/warehouse/test.db/test/dt=202310
- 统计多个文件夹的总占用大小
hadoop fs -du -s /user/hive/warehouse/test.db/test/dt=202310* | awk '{print $1}' | awk '{sum+=$1}END{print sum/1024**3 " G"}'
- 统计每个文件夹的单独大小
hadoop fs -du -s /user/hive/warehouse/test.db/test/dt=202310* | awk '{print $1/1024**3 " G"}'
- 跨集群访问
hadoop fs -ls hdfs://10.20.1.100:8100/
- 查看hadoop 版本
hadoop version
- 查看数据缺失的块
hadoop fsck /user/hive/warehouse/test.db/test
- 复制分区至新表
1. CREATE TABLE new_table LIKE old_table;
2. 使用hadoop fs -cp 命令,把old_table对应的HDFS目录的文件夹全部拷贝到new_table对应的HDFS目录下;
3. 使用MSCK REPAIR TABLE new_table;修复新表的分区元数据;
- 查看数据库里面各数据表的大小,并进行排序
hadoop fs -du -s /user/hive/warehouse/test.db/* | sort -n | numfmt --to=iec --field=1
numfmt --to=iec --field=1
的作用是仅将第一列(大小)转换为人类可读的格式,而不改变第二列(路径)的内容。
--field=1
让 numfmt 只处理第一列,从而避免误修改文件路径
- 删除文件、空目录
hadoop fs -rm /user/hive/warehouse/emptydir
- 删除文件夹
hadoop fs -rmr /user/hadoop/dir
历史相关文章
- Hive 中把一行记录拆分为多行记录
- Hive中对相邻访问时间进行归并分组
- Hive 数据聚合成键值对时,根据值大小进行排序
- Hive中的常用函数
- Hive中各种日期格式转换方法总结
- Hive HQL支持的2种查询语句风格,你喜欢哪一种?
以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号:DataShare ,不定期分享干货