#!/bin/sh

hdfs dfs -ls /user/hive/warehouse | awk '{print $8}' | awk -F "/" '{print $5}' >hivedb.txt
sed -i '1d' hivedb.txt
dbline=$(cat hivedb.txt | wc -l)
let dbline=dbline+1
if [ $dbline -gt 0 ]
  then
  for (( i = 1 ; i < $dbline ; i++ ))
  do
  hdb=$(sed -n "$i p" hivedb.txt | awk '{print $1}')
  hdfs dfs -du -h /user/hive/warehouse/$hdb | awk -F "/" '{print $6"\t"$1}'  >> hivetab.txt
  echo $i>>dbcount.txt
  done
else
   echo "Not Hive DB"
fi
tabline=$(cat hivetab.txt | wc -l)
let tabline=tabline+1
if [ $tabline -gt 0 ]
  then
  for (( j = 1 ; j < $tabline ; j++ ))
  do
   htab=$(sed -n "$j p" hivetab.txt | awk '{print $1}')
   htabsize=$(sed -n "$j p" hivetab.txt | awk '{print $2}')
   mysql -hbsch-M.db.sfdc.com.cn -ubsch -pBD_1234ch -Dbsch -e \
   "select distinct t.owner,b.begin_time,datediff(now(),b.begin_time) as diffdate
    from t_script s
    inner join t_task t on s.id=t.script_id
    left outer join alpha_user a on t.owner=a.emp_code
    left outer join t_job b on t.id=b.task_id
    where s.content like '%${htab}%'
    order by b.begin_time desc limit 1;" >task.txt
	diffdate=$(cat task.txt | awk 'NR==1{print int($3)}')
	echo $j>>tabcount.txt
	if [ $diffdate ]
	then
	 if [ $diffdate -gt 90 ]
	 then
        echo $htab "" $htabsize "" $(cat task.txt | awk 'NR==1{print $1"\t"$2"\t"$3}') >>tabgt90.txt
	 fi
	 if [ $diffdate -gt 0 ] && [ $diffdate -le 90 ]
	 then
		echo $htab "" $htabsize "" $(cat task.txt | awk 'NR==1{print $1"\t"$2"\t"$3}') >>tablt90.txt
	 fi
	fi
  done
else
   echo "Not Hive table"
fi

Linux记录-shell获取hdfs表查询mysql的更多相关文章

  1. Linux记录-shell获取hdfs used使用

    #!/bin/bash export JAVA_HOME=/app/jdk/jdk1.8.0_92 export HADOOP_HOME=/app/hadoop export HADOOP_CONF_ ...

  2. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  3. linux中用shell获取昨天、明天或多天前的日期

    linux中用shell获取昨天.明天或多天前的日期 时间 -- :: BlogJava-专家区 原文 http://www.blogjava.net/xzclog/archive/2015/12/0 ...

  4. linux中用shell获取时间,日期

    linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...

  5. python执行shell获取硬件参数写入mysql

    最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python ...

  6. mysql数据库补充知识2 查询数据库记录信息之单表查询

    一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...

  7. MYSQL数据类型 表基本操作 表记录增删改 单表查询

    一.数据类型 常用的数据类型如下: 整数:int,bit 小数:decimal 字符串:varchar,char 日期时间: date, time, datetime 枚举类型(enum) 特别说明的 ...

  8. MySQL中 如何查询表名中包含某字段的表 ,查询MySql数据库架构信息:数据库,表,表字段

    --查询tablename 数据库中 以"_copy" 结尾的表 select table_name from information_schema.tables where ta ...

  9. 巨蟒python全栈开发数据库攻略3:行记录的操作&单表查询3

    1.数据行的增删改 2.单表查询 select&where条件 3.group by&having&order by&limit

随机推荐

  1. [BJWC2010] 严格次小生成树

    [BJWC2010]严格次小生成树算法及模板 所谓次小生成树,即边权之和第二小的生成树,但所谓严格,就是不能和最小的那个相等. 求解严格次小生成树的方法一般有倍增和LCT两种.当然LCT那么高级的我当 ...

  2. A/B HDU - 1576 (exgcd)

    要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). Input数据的第一行是一个T,表示有T组数据. 每组数据有两 ...

  3. Going Home POJ - 2195(费用流)

    就是一个简单题 四个月前a的一道题,今天又看到了,再a一遍吧. 好吧 我想多了 用了bfs求最短路  其实不用的 因为没有障碍物 #include <iostream> #include ...

  4. THUWC2018游记

    前言 这次THUWC有pretest,非常不错.但还是要对拍. DAY1 上午先去报个到. 下午1:30开始比赛,状态还是很好的. 开场先看题. 发现t1是个联赛贪心题,就花了半个小时写完+拍完了. ...

  5. python学习日记(练习,流程控制+数据结构)

    简易计算器 #简易计算器,蠢新一枚,功能尚不完善,本为个人练习,仅供参考 while 1: a = input('请输入第一个运算数:').strip()#可输入前后带空格的数字 if a.lower ...

  6. docker_macvlan

    目录 macvlan macvlan macvlan的原理是在宿主机物理网卡上虚拟出多个子网卡,通过不同的MAC地址在数据链路层(Data Link Layer)进行网络数据转发的,它是比较新的网络虚 ...

  7. [2017-8-02]Android Learning Day8

    自定义动画效果 新建一个customAnim类 package com.liwenchi.myapplication; import android.view.animation.Animation; ...

  8. One Person Game ZOJ - 3329(期望dp, 数学)

    There is a very simple and interesting one-person game. You have 3 dice, namely Die1, Die2 and Die3. ...

  9. TJOI2011书架(dp)

    当农夫约翰闲的没事干的时候,他喜欢坐下来看书.多年过去,他已经收集了 N 本书 (1 <= N <= 100,000), 他想造一个新的书架来装所有书. 每本书 i 都有宽度 W(i) 和 ...

  10. BZOJ 1854: [Scoi2010]游戏(二分图匹配/并查集)

    题面: https://www.lydsy.com/JudgeOnline/problem.php?id=1854 题解: 1.二分图匹配: 首先我们发现每件装备只能在两种属性中选一种.因此,我们以每 ...