Linux记录-shell获取hdfs表查询mysql
#!/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的更多相关文章
- Linux记录-shell获取hdfs used使用
#!/bin/bash export JAVA_HOME=/app/jdk/jdk1.8.0_92 export HADOOP_HOME=/app/hadoop export HADOOP_CONF_ ...
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- linux中用shell获取昨天、明天或多天前的日期
linux中用shell获取昨天.明天或多天前的日期 时间 -- :: BlogJava-专家区 原文 http://www.blogjava.net/xzclog/archive/2015/12/0 ...
- linux中用shell获取时间,日期
linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...
- python执行shell获取硬件参数写入mysql
最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python ...
- mysql数据库补充知识2 查询数据库记录信息之单表查询
一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...
- MYSQL数据类型 表基本操作 表记录增删改 单表查询
一.数据类型 常用的数据类型如下: 整数:int,bit 小数:decimal 字符串:varchar,char 日期时间: date, time, datetime 枚举类型(enum) 特别说明的 ...
- MySQL中 如何查询表名中包含某字段的表 ,查询MySql数据库架构信息:数据库,表,表字段
--查询tablename 数据库中 以"_copy" 结尾的表 select table_name from information_schema.tables where ta ...
- 巨蟒python全栈开发数据库攻略3:行记录的操作&单表查询3
1.数据行的增删改 2.单表查询 select&where条件 3.group by&having&order by&limit
随机推荐
- 【luogu3733】【HAOI2017】 八纵八横 (线段树分治+线性基)
Descroption 原题链接 给你一个\(n\)个点的图,有重边有自环保证连通,最开始有\(m\)条固定的边,要求你支持加边删边改边(均不涉及最初的\(m\)条边),每一次操作都求出图中经过\(1 ...
- 洛谷P4155 [SCOI2015]国旗计划(贪心,树形结构,基数排序)
洛谷题目传送门 \(O(n)\)算法来啦! 复杂度优化的思路是建立在倍增思路的基础上的,看看楼上几位巨佬的描述吧. 首先数组倍长是一样的.倍增法对于快速找到\(j\)满足\(l_j+m\le r_i\ ...
- Hdoj 2045.不容易系列之(3)—— LELE的RPG难题 题解
Problem Description 人称"AC女之杀手"的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多"Cole"(LELE的粉丝,即"可乐 ...
- 25 Zabbix系统数据表结构介绍
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...
- 【Luogu4707】重返现世(min-max容斥)
[Luogu4707]重返现世(min-max容斥) 题面 洛谷 求全集的\(k-max\)的期望 题解 \(min-max\)容斥的证明不难,只需要把所有元素排序之后考虑组合数的贡献,容斥系数先设出 ...
- C++ 中 const、volatile、mutable的用法
@2019-01-14 [小记] C++中const.volatile.mutable的用法
- hexo报错集锦
1.报错信息如下 FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubles ...
- iis默认文档
环境 W10 IIS10 输入网址后,显示一个默认首页,在IIS中,一般指定一个根目录下的文件例如index.html 如果要指定子目录下的文件, 例如让 /home/index.html 这个文件成 ...
- luogu1484 种树 (优先队列)
我每次都想选那个最大的.或者是它旁边的两个一起选,如果这两个一起选会大于那个最大的的话 那我就先把那个最大的选了,再提供一个反悔的选项(类似于网络流的思路?),就是我可以再把种的树换成它旁边那两个,也 ...
- HDU 6336 Matrix from Arrays (杭电多校4E)
遇事不决先打表. 然后会发现(个屁)大的矩形是由一个2L*2L的矩形重复出现组成的然后我们就可以这个矩形分成四个点到(0, 0)点的矩形,这样问题就变成了求四个到顶点(0, 0)的矩形的面积,然后就先 ...