shell 获取 hive 表的 hdfs 位置
s="$(hive -e "use hadoop;show create table y1" | grep hdfs)"
此时把位置赋予给了变量 s
echo $s
命令拆分:
hive -e "use hadoop;show create table y1" (注意 , 这是 hive在shell执行 ,
效果和在 hive中执行 use hadoop;show create table y1;是一样的 .
不用进入hive中 , hive -e 可以直接理解为在hive环境中运行 ,
" " 中包含的东西都是执行的语句 , 可以连续写 , 和bash一样)
然后提取 包含 hdfs那一行 , 如果不放心 , 可以选择 hdfs://cluster/
| grep hdfs 意思是管道 , 只有包含hdfs 字句的才能通过 , 相当于校验
>.比如
ls 是显示目录下文件 , grep x 是提取包含x的文件名 , 那么返回的就是一个x.sh