### 读取hive的表结构,生成带comment的视图建表语句
# 读取配置文件中的表并进行遍历
grep -v '^#' tablesFile|while read tableName
do
status=
viewName=$(echo ${tableName}|sed "s/^dwd_/dwd_cms_out_l_/i"|sed "s/^dws_/dws_cms_out_l_/i"|sed "s/^ads_/ads_cms_out_l_/i")
echo "-- tableName: ${tableName} | viewName: ${viewName}"
# 查询HIVE中的表结构
hive -e "desc db_name.${tableName}" > desc_${tableName}
# 将\t处理成|
perl -i -npe 's/\x09/|/g' desc_${tableName}
# 判断是否分区表
if [ $(grep '^| | ' desc_${tableName}|wc -l) -gt ]
then
# 是分区表的处理方法
start_line=
end_line=$((`grep -n "^| | " desc_${tableName}|awk -F':' '{print $1}'|head -` - ))
sed -n "${start_line},${end_line}p" desc_${tableName} > columns_${tableName}
else
# 不是分区表的处理方法
grep -v -E "col_name|WARN" desc_${tableName} > columns_${tableName}
fi echo "create view ${viewName} ("
grep -v -E "col_name|WARN" columns_${tableName}|awk '{print $1,"comment '\''"$3"'\''"}'|sed 's/|//g'|while read line
do
if [ ${status} -ne ]
then
echo -n " ,"
echo "${line}"
else
echo " ${line}"
fi
status=$((${status}+))
done
echo ")"
echo "as"
echo "select * from ${tableName}"
echo ";"
done

读取hive的表结构,生成带comment的视图建表语句的更多相关文章

  1. 如何将excel 数据库表结构生成powerdesign物理模型

    Option Explicit Dim mdl ' the current model Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox &q ...

  2. (转载)根据数据字典表定义的表结构,生成创建表的SQL语句

    <来源网址:http://www.delphifans.com/infoview/Article_221.html>根据数据字典表定义的表结构,生成创建表的SQL语句 //1.  类名:T ...

  3. sqlserver 复制表结构(可以含有数据 或 只要表结构)

    sqlserver 复制表结构(可以含有数据 或 只要表结构) SELECT * INTO bb FROM aa(NOLOCK) WHERE 1=0

  4. MySQL复制表结构和内容到另一张表(转)

    MySQL不要看它小,一个开源的产物,要学习它的东西真的很多.而它的一切是SQL Server无法比拟的. 复制表结构及数据到新表 create table 新表 select * from 旧表 只 ...

  5. Intellij IDEA 通过数据库表逆向生成带注释的实体类文件超级详细步骤,附详细解决方案

    参考:https://blog.csdn.net/qq_34371461/article/details/80571281  https://blog.csdn.net/mqchenrong/arti ...

  6. [04] 利用注解生成实体类对应的建表sql语句

    1.实现功能 我们已经对注解有了基本的认识,知道了如何自定义注解,如何使用和最基本的处理注解. 本篇主要介绍,如何使用运行时级别的注解,配合反射来自动生成建表的sql语句.如下例: 我们有实体类Stu ...

  7. 复制表结构和内容到另一张表中的SQL语句

    1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1= ...

  8. SQL Server修改表结构后批量更新所有视图

    最近修改了数据库表结构,数据同步的时候出了问题,发现很多数据明明已经修改,但是通过视图筛选出来的还是原来的数据,所以怀疑应该是视图缓存了数据,在园子里找到下面的博文,在这里做个记录备忘. 原文链接:h ...

  9. 获取一个表中的字段总数(mysql) Navicat如何导出Excel格式表结构 获取某个库中的一个表中的所有字段和数据类型

    如何获取一个表中的字段总数 1.function show columns from 表明: 结果 : 2.functiuon select count(*) from INFORMATION_SCH ...

随机推荐

  1. cf round 480E The Number Games

    题意:给一棵树,点$i$的点权是$2^i$,你需要删掉$k$个点,使得剩下的点连通的情况下剩下的点权值和最大. $k \leq n \leq 10^6$ 如果考虑删哪些点,是不好考虑的,会出问题. 反 ...

  2. Hdu 1150

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. 洛谷 P1420 最长连号【最长合法子序列/断则归一】

    题目描述 输入n个正整数,(1<=n<=10000),要求输出最长的连号的长度.(连号指从小到大连续自然数) 输入输出格式 输入格式: 第一行,一个数n; 第二行,n个正整数,之间用空格隔 ...

  4. 生成mysql数据字典

    data_dictionary.php <?php /** * 生成mysql数据字典 */ header("Content-type: text/html; charset=utf- ...

  5. Leetcode707.Design Linked List设计链表

    设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要使用双向链表,则还需要一个属性 ...

  6. PHP闭包实现函数的自调用实现递归

    根据pathinfo访问对应得controller,如ip:port/home/index/index则会访问home目录下的IndexController的index方法:如果不指定pathinfo ...

  7. 移动web的基础知识

    一.像素 px:CSS pixels逻辑像素,浏览器使用的抽象单位 dp,pt:设备无关像素 (物理像素) dpr:设备像素缩放比 计算公式: 1px = (dpr)*(dpr)*dp 二.viewp ...

  8. 如何在Liferay 7中用html显示页面

    liferay portlet默认的显示页面是view.jsp,虽然可以在jsp中用include标签包括html文件,但是如何直接通过修改配置文件让默认的显示页面为view.html呢? 1.用Li ...

  9. 【JZOJ2758】【SDOI2012】走迷宫(labyrinth)

    ╰( ̄▽ ̄)╭ Morenan 被困在了一个迷宫里. 迷宫可以视为 N 个点 M 条边的有向图,其中 Morena n处于起点 S , 迷宫的终点设为 T . 可惜的是 , Morenan 非常的脑小 ...

  10. Spring → 《Spring程序开发》教材大纲