每日定时导入hive数据仓库的自动化脚本

[Author]: kwu

创建shell脚本,创建临时表,装载数据,转换到正式的分区表中:

#!/bin/sh
# upload logs to hdfs

yesterday=`date --date='1 days ago' +%Y%m%d`

hive -e "
use stage;
create table tracklog_tmp (
dateday string,
datetime string,
ip string ,
cookieid string,
userid string,
logserverip string,
referer string,
requesturl string,
remark1 string,
remark2 string,
alexaflag string,
ua string,
wirelessflag string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';"

hive -e "
use stage;
set hive.enforce.bucketing=true;
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;
load data local inpath '/diskg/logs/tracklog_192.168.1.1/${yesterday}/${yesterday}????.dat' overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day='${yesterday}')  select  *  from tracklog_tmp;
load data local inpath '/diskg/logs/tracklog_192.168.1.2/${yesterday}/${yesterday}????.dat' overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day='${yesterday}')  select  *  from tracklog_tmp;
load data local inpath '/diskg/logs/tracklog_192.168.1.3/${yesterday}/${yesterday}????.dat' overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day='${yesterday}')  select  *  from tracklog_tmp;
load data local inpath '/diskg/logs/trackloguc_192.168.1.1/${yesterday}/${yesterday}????.dat' overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day='${yesterday}')  select  *  from tracklog_tmp;
load data local inpath '/diskg/logs/trackloguc_192.168.1.2/${yesterday}/${yesterday}????.dat' overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day='${yesterday}')  select  *  from tracklog_tmp;
load data local inpath '/diskg/logs/trackloguc_192.168.1.3/${yesterday}/${yesterday}????.dat' overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day='${yesterday}')  select  *  from tracklog_tmp;
"

hive -e "
use stage;
drop table tracklog_tmp ;"

在crontab中加入定时任务

crontab -e

加入如下代码

#import tracklog

25  07 * * * /opt/bin/hive_opt/import_tracklog.sh

时间: 2024-08-02 23:51:15

每日定时导入hive数据仓库的自动化脚本的相关文章

Mysql 上亿级数据导入Hive思路分享

前提条件: 数据库容量上亿级别,索引只有id,没有创建时间索引 达到目标: 把阿里云RDS Mysql表数据同步到hive中,按照mysql表数据的创建时间日期格式分区,每天一个分区方便查询 每天运行crontab定时的增量备份数据,还是依据自增的id 遇到的问题: 没法建立创建时间的索引,不能按时间范围去查询,那样会严重影响线上数据库的性能?只能按照id的方式去增量的读取索引,存储到临时表,然后在转储到正式表,动态的写入时间分区 使用sqoop直接导入hive?还是把数据导入到hdfs以內建表

优雅的将hbase的数据导入hive表

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} wgx wgx 2 67 2016-04-02T15:15:00Z 2016-04-02T15:15:00Z 1 233 1332 11 3 1562 15.00 Clean Clean false 7.8 磅 0

Hadoop系列之Hive(数据仓库)安装配置

Hadoop系列之Hive(数据仓库)安装配置1.在NameNode安装  cd /root/soft  tar zxvf apache-hive-0.13.1-bin.tar.gz   mv apache-hive-0.13.1-bin /usr/local/hadoop/hive2. 配置环境变量(每个节点都需要增加) 打开/etc/profile #添加以下内容: export HIVE_HOME=/usr/local/hadoop/hive export PATH=$HIVE_HOME/

二、运行第一个自动化脚本

1.安装selenium 1.打开命令行,输入命令 pip install selenium,进行安装,安装成功的界面如下图: 验证是否安装成功 打开命令行,输入python 进入python的命令行界面 输入 from selenium import webdriver  没有报错,证明安装成功 2.运行第一个自动化脚本 1.打开pycharm,新建一个项目 输入项目名,test,选择 existing interpreter,就是选择安装python,new environment usin

Hive --数据仓库工具

Hive–数据仓库工具 1.Hive核心架构 2.Hive开发环境和使用方式 3.Hive核心原理解析 4.核心概念 5.HQL查询详解 6.Hive批处理脚本开发 7.Hive函数详解 8.高级特性与调优 原文:大专栏  Hive --数据仓库工具 原文地址:https://www.cnblogs.com/chinatrump/p/11597075.html

Linux 多网卡Bond自动化脚本

现状: 目前一台物理机4个网卡,em1-em2-em3-em4,需要实现1.2网卡绑定,3.4网卡绑定,模式为主备.即:一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理.当活动网卡down掉时,启用备份的网卡 附:linux有七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor),  3.fault-tolerance (broadcast), 4.lacp,  5.transmit load balanci

Resurrectio-capserjs的自动化脚本录制工具

[根据github上的文档说明整理] Phantom下的任何操作都可以录制 Resurrectio是一个Chrome插件,他可以记录浏览器的操作,并转化成对应的casperjs脚本 Resurrectio使用最简和装饰性的选择器,所以记录的步骤能在布局和设计变化时保持有效 当CasperJS执行JavaScript,录制步骤不限于html交互,js执行的精确步骤也能够被完整记录 Resurrectio也提供了一个方法去生成截屏,在你的测试场景里,并且能够导出注视和截屏在重构后的方法里(意思是这个

Selenium+C#自动化脚本开发学习

Selenium+C#自动化脚本开发知识学习 1:Selenium中对浏览器的操作 首先生成一个Web对象 IWebDriver driver = new FirefoxDriver(); //打开指定的URL地址 driver.Navigate().GoToUrl(@"http://12.99.102.196:9080/corporbank/logon_pro.html"); //关闭浏览器 Driver.quit(); 网银浏览器兼容性测试过程中,关闭浏览器后会有对话框,此问题解决

sqoop1.4.5 导入 hive IOException running import job: java.io.IOException: Hive exited with status 1

sqoop 导入 hive hive.HiveImport: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.thrift.EncodingUtils.setBit(BIZ)B ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 1