截取HDFS目录下的hive仓库里的库名和表名
运行步骤拆分
方法一:shell脚本实现
#!/bin/bash
#截取hdfs中hive仓库目录
hdfs dfs -ls -R /user/hive/warehouse | awk '{print $8}' > file_paths.txt
#剔除/user/hive/warehouse,取库名和表名
awk -F'/' '{print $5, $6}' file_paths.txt > extracted_data.txt
#最后把提取到的库名和表名进行去重
sort extracted_data.txt | uniq > data.txt
方法二:命令行实现
因为脚本运行过后会产生好几个中间文件,我把代码优化了一下
直接在命令行中运行以下命令即可
hdfs dfs -ls -R /user/hive/warehouse | awk '{print $8}' | awk -F'/' '{print $5, $6}' | sort | uniq > data.txt
打开data.txt文件
这是运行后面的展示效果
hivetest.db
hive_test.db a
hive_test.db b
hive_test.db c
test.db
test.db aaa
test.db customers
test.db employee
test.db sales
test.db test
test_luo.db
test_luo.db student_test
每个库名对应下面的表名