Shell 获取Hive表的location 信息

用shell 获取建表语句:

hive -e "show create table ods_job.ods_job_tb"

得到结果:

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 引号里面的值,并实现自动化

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

方式2

#!/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稍微难写一点的就是里面的正则,还得过滤掉引号。
小记~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何优化Java中的递归算法?

如何优化Java中的递归算法? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在本文中,我们将探讨如何优化Java中的递归算法。递归是一种强…

使用AI技术实现语言练习

使用人工智能技术实现语言场景练习,可以有效地提高学习者的语言能力,包括口语、听力、阅读和写作。以下是一些常见的应用场景。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 口语练习 虚拟对话伙伴: 利用…

FullCalendar日历组件集成实战(16)

背景 有一些应用系统或应用功能,如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件,但功能比较简单,用来做数据展现勉强可用。但如果需要进行复杂的数据展示,以及互动操作如通过点击添加事件&#xff0…

Spring Security详解:构建安全的Java应用

引言 Spring Security 是一个强大且极为灵活的框架,它致力于为Java应用程序提供全面的安全服务。这个开源的安全性框架主要为基于Spring的应用程序提供声明式的安全性保护,可以应用于企业级应用程序和软件中。 Spring Security提供了一系列的服务包括认证、授权、防止跨站请…

Android与服务器交互的方式中的对称加密和非对称加密(kotlin)

Android与服务器交互中的对称加密和非对称加密(kotlin) 引言 在 Android 与服务器交互时,我们常常需要进行数据传输,为了保证数据的安全性,我们可以使用加密算法来保护数据。在本文中,我们将介绍如何在 K…

Go语言接口学习

当谈到Go语言中的接口时,可以从以下几个方面为初学者进行详细的解释: 一、接口概述 定义:Go语言中的接口(interface)是一种类型,它定义了一组方法的集合。接口本身不包含方法的实现,而是由其他类…

Linux上使用 git 命令行

在 Github或者 gitee 注册账号 这个比较简单 , 参考着官网提示即可 . 需要进行邮箱校验.以下以创建Github为例。 创建项目 1. 登陆成功后 , 进入个人主页 , 点击下方的 create a new repository 按钮新建项目 2. 在创建好的项目页面中复制项目的链接 , 以备接下来进行下…

java 实现RESTful风格

在Java中实现RESTful风格的方式有很多,以下是一种常见的实现方式: 定义资源类:创建一个Java类来表示API的资源,例如一个用户(User)资源类。这个类应该包含资源的属性和相关的方法。 public class User {p…

10分钟掌握Python缓存,效率提升1000%

全文速览 python的不同缓存组件的使用场景和使用样例cachetools的使用 项目背景 代码检查项目,需要存储每一步检查的中间结果,最终把结果汇总并写入文件中 在中间结果的存储中 可以使用context进行上下文的传递,但是整体对代码改动比较大…

Linux系统中文件权限详解

一、Linux文件权限设计 Linux系统中任何内容都可以用文件表示,其对文件设计了一套权限进行管理;文件权限共有11个字符,从左向右共分为5段(每段的具体说明如下表Linux权限设计说明所示): Linux权限设计说明 …

揭秘:企业如何防盗版软件

在当前的数字化时代,软件盗版问题一直困扰着软件开发者和企业。为了维护软件的合法权益,保护创新成果,许多企业采取了各种技术手段来防止软件被非法复制和分发。其中,白名单机制作为一种有效的防盗版软件手段,被广泛采…

Transformer模型:革新序列到序列任务的深度学习范式

在深度学习领域,序列到序列(Seq2Seq)任务是一类重要的问题,涉及到将一个序列转换为另一个序列的过程,如机器翻译、文本摘要、对话生成等。传统的序列到序列模型,如循环神经网络(RNN)…

vue2面试题——vuex

1. Vuex有哪些属性 state > 全局共享属性 getters > 针对于state数据进行二次计算 mutations > 存放同步方法的 actions > 存放异步方法的,并且是用来提交mutations的 modules > 把vuex再次进行模块的划分(进行细分,便于项目的…

查看哪个docker环境在占用gpu

前言 有时候发现某些docker占用gpu资源却没有训练,需要查清楚是哪个并且把它stop掉。 方法 在docker里面用nvidia-smi命令,没有pid显示,需要在外面使用。得到pid信息后,使用命令 docker top 15766f6eeaf7(容器ID) | grep 551…

gin框架中使用session的详细步骤和示例

gin框架中的Session是通过中间件Middleware的方式来使用的, 官方的gin-contrib提供了session包(通过对github.com/gorilla/sessions的二次封装实现),我们可以直接使用即可, session支持的存储方式有如下多种&#xff1…

书酒共舞:品味文字之韵,沉醉酒香之境

在喧嚣的都市中,我们常常渴望找到一片宁静的角落,让心灵得到片刻的休憩。此刻,一杯雷盛红酒与一本心仪的书籍,便成了很好的伴侣,它们相互映衬,共同编织出一幅优雅的画卷,让我们在品味中感受文字…

分支策略指南 | 发布分支、基于主干的分支、功能分支等常见分支策略利弊分析、版本控制工具Perforce Helix Core全新轻量级分支功能解析

对于希望加快工作流程、按时完成任务并减少代码错误的团队来说,拥有专用的分支策略至关重要。但是,面对各种不同的分支策略(包括发布分支、基于主干的分支、功能分支等),如何确定哪一种分支策略更符合团队需求&#xf…

第十六站:Java珊瑚红——Web开发的活力之源

Java在Web开发领域扮演着极其重要的角色,其生态系统提供了多种技术来构建高效、可维护的Web应用程序。下面我们将通过源代码示例,来探讨Servlet、JSP、Spring MVC和RESTful API在Java Web开发中的应用。 Servlet Servlet是Java EE规范的一部分&#xf…

数据处理神器Elasticsearch_Pipeline:原理、配置与实战指南

文章目录 📑引言一、Elasticsearch Pipeline的原理二、Elasticsearch Pipeline的使用2.1 创建 Pipeline2.2 使用 Pipeline 进行索引2.3 常用的 Processor 三、实际应用场景3.1 日志数据处理3.2 数据清洗和标准化3.3 数据增强 四、最佳实践4.1 性能优化4.2 错误处理4…

Java面试题:Redis为什么速度快

Redis为什么速度快 Redis是纯内存操作 采用单线程,避免不必要的上下文切换可竞争条件 多线程还要考虑线程的安全问题 使用I/O多路复用模型,非阻塞IO I/O多路复用模型 因为Redis是纯内存操作,执行速度非常快,性能的瓶颈是网络延迟而非执行速度 I/O多路复用模型主要就是实…