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

posted @ 2020-06-02 15:45  挪威森林猫Zzz  阅读(970)  评论(0编辑  收藏  举报