Shell 获取Hive表的location 信息

用shell 获取建表语句:

bash 复制代码
hive -e "show create table ods_job.ods_job_tb"

得到结果:

bash 复制代码
CREATE TABLE `ods_job.ods_job_tb`(
  `id` bigint COMMENT 'id', 
  `auto` int COMMENT 'job开启/关闭:0-关闭;1-开启', 
 ....
  `timeout_kill` string COMMENT '是否超时kill')
COMMENT 'job表'
PARTITIONED BY ( 
  `d` string COMMENT '日期分区字段')
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.RCFileInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'
LOCATION
  'hdfs://ns/user/hive/warehouse/job.db/job_tb'
TBLPROPERTIES (
  'last_modified_by'='user', 
  'last_modified_time'='1656303639', 
  'metadata.partition.life'='-1', 
  'metadata.security.level'='Medium', 
  'orc.bloom.filter.columns'='id,visitor_id,auto,owner,group_id', 
  'spark.sql.partitionProvider'='catalog', 
  'transient_lastDdlTime'='1706259083')
Time taken: 1.343 seconds, Fetched: 57 row(s)

想要获取LOCATION 引号里面的值,并实现自动化

bash 复制代码
tardb=$1
tarTblname=$2
stmt=`hive-sql -v -e "use ${tardb}; show create table ${tarTblname};"`
loc=$( expr "${stmt}" : ".*LOCATION...'\([^']*\)" );

echo $loc

方式2, 这种会有点瑕疵,一旦表中有location 字段就有可能会产生bug,而上面就不会出现这种问题

bash 复制代码
#!/bin/bash

# 替换为你的 Hive 表名
table_name="db.table"

# 使用 Hive 命令获取表的详细信息,并通过 grep 筛选出包含 "Location" 的行
location_info=$(hive -e "describe formatted $table_name" | grep "Location")

# 提取出具体的 location 值
location=$(echo $location_info | awk '{print $2}')

echo "表 $table_name 的 location 信息为: $location"

loc变量就是想要的结果,这个shell稍微难写一点的就是里面的正则,还得过滤掉引号。

小记~

相关推荐
学习中的阿陈4 小时前
Hadoop伪分布式环境配置
大数据·hadoop·分布式
vxtkjzxt8887 小时前
手机群控平台的核心功能
数据库·数据仓库
wheeldown8 小时前
【Linux】【实战向】Linux 进程替换避坑指南:从理解 bash 阻塞等待,到亲手实现能执行 ls/cd 的 Shell
linux·运维·bash
IT研究室9 小时前
大数据毕业设计选题推荐-基于大数据的健康与生活方式数据可视化分析系统-Spark-Hadoop-Bigdata
大数据·hadoop·spark·毕业设计·源码·数据可视化·bigdata
IT学长编程19 小时前
计算机毕业设计 基于大数据技术的医疗数据分析与研究 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
大数据·hadoop·机器学习·数据分析·毕业设计·毕业论文·医疗数据分析
IT学长编程1 天前
计算机毕业设计 基于深度学习的酒店评论文本情感分析研究 Python毕业设计项目 Hadoop毕业设计选题 机器学习选题【附源码+文档报告+安装调试】
hadoop·python·深度学习·机器学习·数据分析·毕业设计·酒店评论文本情感分析
小朋友,你是否有很多问号?1 天前
Mac安装hadoop
hadoop·macos
奋斗的蛋黄1 天前
HDFS与Yarn深入剖析
大数据·运维·hadoop
core5121 天前
Hive实战(三)
数据仓库·hive·hadoop
BYSJMG1 天前
计算机毕设推荐:基于Hadoop+Spark物联网网络安全数据分析系统 物联网威胁分析系统【源码+文档+调试】
大数据·hadoop·python·物联网·spark·django·课程设计