shell编写mysql抽取数据脚本
#!/bin/bash
DT=`date +%Y%m%d` #当前日期
YESTERDAY=`date -d "yesterday" +%Y-%m-%d` #昨天,用于处理数据的日期
if [ ! -n "$1" ] ;then
echo "ETL Date:$YESTERDAY";
else
YESTERDAY=${1}
echo "ETL Date:$YESTERDAY";
fi
#AGENT_IDS="'NDM1MW1RME9HTmlaRGN5TWpjNU5mZTU4','MTI1Y2FEVXlOVEZtWlRVNFpqUTVOZjJiYQ==','MTdiYmN5T0RNM056VXlOMkV5TlRJOWNjNw==','N2RkZVlXVTJNemxoWTJJd05UaGtmYWJm','MTY4OGFPVGMzTkdRNU1ESXpZMkU0OGQxYg==','OTE4OG1Zak5rTm1JNU5URmlOekYxN2Y3Mw==','YTExN09UaG1aREl6TjJabE1EQTNmYTlh','DdlYzRhNWM5MTBhN','NlYTk5NjBjMDRjYz','MzJiMzFkZGEwODA0','mU2YWY0N2E1NWYxZ','c3NWJlZDVlYTZmNT','DI0MjQ3MWNkODk0Y','gxYzRhOTcyNzhlYz','FhMjBiNjM2YzI3Yj','MDc0NTM1NjljMTVk','dkYjU3MDgwODI4Mz','OTc2ZTc4YzBhNWVj','E2OWY5ZThmMGY3NT','xYjg3NzY2MWU5OWV','IwOTgxMjFlZDY5OG','WE3ZWIzZWU1YTMwY','WFlZjU0Njk2NTAwZ','2MGE1MDNmNTBkZmY','4ZDM2OWQ1ZGEwOTY','DVlODAyYzA0ZTc0Z','GNlNjMwMjIyZDA1Z','1YTRiODZlZGY2NzB','U4M2ZjYzQ4YzJlMT','OWFlZGYzNGNmODI3','BmYzUyMDBiNTU3Yz','1ODY4MzVjNmJhNDM','MGI5NTcxNzUzNDQ3','DMxYTk3ZjYxNjk2Z','Q4ZTI4ZDAyMzA3M2','YzEwMDBlYWI1N2U0','DlmNTgyNGQzMzVjZ','2ZiOGQ1MGQ3ZmRjN'"
QUY_HOST=*****.com
QUY_DB=****
QUY_USER=****
QUY_PWD=*****
mysql -h$QUY_HOST $QUY_DB -u$QUY_USER -p$QUY_PWD << EOF
truncate TABLE ros_query_new_everyday;
insert into ros_query_new_everyday(id,query_date,device_id,agent_id,agent_code,agent_name) select id,query_date,device_id,agent_id,agent_code,agent_name from ros_query_new a where a.query_time between '$YESTERDAY 00:00:00' and '$YESTERDAY 23:59:59' and result_status = 0;
EOF
# 抽取文本query
mysql -h$QUY_HOST $QUY_DB -u$QUY_USER -p$QUY_PWD --default-character-set=utf8 --skip-column-names -B -e "select agent_id,agent_code,agent_name,device_id,query_date,count(*),'TEXT' query_type from ros_query_new_everyday where query_date ='$YESTERDAY' and agent_code in(select app_id from stat_agent_code) group by agent_code,device_id;" > etl_text_query_$YESTERDAY.txt
echo 'querys succeeded.'
ECP_HOST=****
ECP_USER=***
ECP_PWD=*****
ECP_DATABASE=*****
mysql -h$ECP_HOST $ECP_DATABASE -u$ECP_USER -p$ECP_PWD << EOF
DELETE FROM tp_storybox_querys WHERE query_date='$YESTERDAY';
LOAD DATA LOCAL INFILE 'etl_text_query_$YESTERDAY.txt' INTO TABLE tp_storybox_querys(agent_id,agent_code,agent_name,client_id,query_date,query_count,query_type);
DELETE FROM tp_storybox_querys WHERE query_date='$YESTERDAY' and client_id NOT IN(SELECT device_id FROM tp_storybox_active_log);
EOF
echo 'ETL succeeded.'
shell编写mysql抽取数据脚本的更多相关文章
- mysql批量数据脚本
mysql批量数据脚本 1 建表 create table dept( id int unsigned primary key auto_increment, deptno mediumint uns ...
- shell编写mysql备份工具
如需转载,请经本人同意. 这是之前写的一个备份脚本,调用的备份工具是xtrabackup 编写思路是:每周一全备份,备份后提取lSN号,对备份文件进行压缩,其余时候在LSN的基础上进行增量备份,并对3 ...
- python编写Mysql自动备份脚本
1、先写一个python脚本 vim /opt/mysql_dump.py #!/usr/bin/env python# -*- coding:utf-8 -*-import osimport tim ...
- 使用sqoop从Oracle或mysql抽取数据到HDFS遇到的报错及解决
一.参考文档: 1.https://www.rittmanmead.com/blog/2014/03/using-sqoop-for-loading-oracle-data-into-hadoop-o ...
- SHELL编写NGINX服务控制脚本
使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的 ...
- 利用Shell开发MySQL的启动脚本
MySQL实例部署情况 01:MySQL程序安装目录:/data/apps/mysql 02:MySQL实例3306的配置文件为:/data/mysql/3306/my.cnf 03:MySQL实例3 ...
- shell导出mysql部分数据
#!/bin/shSYSTEM=`uname -s` echo "echo"$SYSTEM if [[ $SYSTEM = "Linux" ]]; then ...
- MySQL造数据脚本-亲试
DELIMITER $$CREATE DEFINER=`root`@`192.168.2.254` PROCEDURE `pjzzspdz_fpmx_initdata12101245`()BEGIN ...
- MySQL批量数据脚本示例
一.建表 # 新建库 create database bigData; use bigData; #1 建表dept CREATE TABLE dept( id INT UNSIGNED PRIMAR ...
随机推荐
- tmux frequently asked questions
tmux frequently asked questions How is tmux different from GNU screen? tmux and GNU screen have ...
- SQL Server 在生产环境中这样写存储过程的坑都避免了吗?
概述 最近因为业务的需求写了一段时间存储过程,发现之前写的存储过程存在一些不严谨的地方,特别是TRY...CATCH中嵌套事务的写法:虽然之前写的并没有错,但是还是埋藏着很大的隐患在里面.希望这篇文章 ...
- work 2013-07-19
今天,在现场进行了数据库的优化,将数据库的日志截断和压缩了 use 测试库backup log 测试库 with no_logdbcc shrinkfile (测试库_Data,1)dbcc shri ...
- 数据结构 集合_集合(数学)抽象数据类型的C语言实现
链表是实现集合的一种理想的方式.将List以typedef的方式重命名为Set.这样做能保留链表简洁的特性,还能使集合具有了一些多态的特性. 使用这种方法的最大好处就是可以使用list_next来遍历 ...
- JavaSE学习入门
Java基础: 1.安装JDK1.7(JDK 包括JRE,Java工具包,Java的类库) 2.编写Hello,world 程序 public class Hello{ public static v ...
- thinkphp中各字母代表的发放和具体实例
hinkphp单字母函数使用指南A方法 A方法用于在内部实例化控制器,调用格式:A('[项目://][分组/]模块','控制器层名称') 最简单的用法: $User = A('User'); 复制代码 ...
- Float精度丢失
BigDecimal _0_1 = new BigDecimal(0.1); BigDecimal x = _0_1; for(int i = 1; i <= 10; i ++) { Syste ...
- Qname
Qname的全称是qualified name. Qname由三部分组成: 1.Namespace prefix 2.A colon character(":") 3.A loca ...
- KD-tree详解
转载自:http://blog.csdn.NET/zhjchengfeng5/article/details/7855241 首先来一个问题: 给定平面上一个点集 E ,还有一个定点 V ,怎么在一群 ...
- [P4基础]p4app的Docker镜像仓使用详解
How to use the p4lang/p4app Docker image 本文参考 孙勇峰博客 和 p4app README 以及 p4app Dockerfile 结合自己的理解做一些记录, ...