【Hadoop/Hive/mapreduce】系列之如何删除HIVE 表格的分区
今天的一个业务场景就是要把三年的数据从第一天不停的融合起来,每一天作为表格一个新的分区。由于空间有限,数据量很大,可能每天数据都是几十个G的大小。所以我需要做的一点就是在融合这一天之后,删除一天的分区数据,为了保险起见,我删除这一天的前三天的数据。
大致代码是这样的
function shan(){
cat <<EOF
ALTER TABLE table_name DROP PARTITION (dt='$san');
EOF
}
first=20160706
second=20190310
while [ "$first" -le "$second" ]
do
zhong=`date -d "1 days ago ${first}" +%Y%m%d`
hive -e "`merge`" #这行代码就是在生成当天的数据融合
san=`date -d "3 days ago ${first}" +%Y%m%d`
hive -e "`shan`" #删除三天前的数据
let first=`date -d "-1 days ago ${first}" +%Y%m%d`
done
当然核心代码就是删除分区的那个代码
ALTER TABLE table_name DROP PARTITION (dt='$san');
【Hadoop/Hive/mapreduce】系列之如何删除HIVE 表格的分区的更多相关文章
- Hadoop Hive概念学习系列之什么是Hive?(一)
参考 <Hadoop大数据分析与挖掘实战>的在线电子书阅读 http://yuedu.baidu.com/ebook/d128cf8e33687e21 ...
- Hadoop Hive概念学习系列之什么是Hive?
参考 <Hadoop大数据分析与挖掘实战>的在线电子书阅读 http://yuedu.baidu.com/ebook/d128cf8e33687e21 ...
- Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)
Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据 ...
- Hadoop之MapReduce(二)序列化,排序及分区
MapReduce的序列化 序列化(Serialization)是指把结构化对象转化为字节流. 反序列化(Deserialization)是序列化的逆过程.把字节流转为结构化对象. 当要在进程间传递对 ...
- Hadoop Hive概念学习系列之hive里的JDBC编程入门(二十二)
Hive与JDBC示例 在使用 JDBC 开发 Hive 程序时, 必须首先开启 Hive 的远程服务接口.在hive安装目录下的bin,使用下面命令进行开启: hive -service hives ...
- Hadoop Hive概念学习系列之hive三种方式区别和搭建、HiveServer2环境搭建、HWI环境搭建和beeline环境搭建(五)
说在前面的话 以下三种情况,最好是在3台集群里做,比如,master.slave1.slave2的master和slave1都安装了hive,将master作为服务端,将slave1作为服务端. 以 ...
- Hadoop Hive概念学习系列之hive里的索引(十三)
Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键. Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要 ...
- Hadoop Hive概念学习系列之hive里的扩展接口(CLI、Beeline、JDBC)(十六)
<Spark最佳实战 陈欢>写的这本书,关于此知识点,非常好,在94页. hive里的扩展接口,主要包括CLI(控制命令行接口).Beeline和JDBC等方式访问Hive. CLI和B ...
- hive 学习系列二(数据库的创建删除修改) 拿走,不谢。
database 相当于一个目录或者命名空间,用来更好地进行表的管理 在hdfs 的目录位置大致如下: [root@iZbp12vtv76y9q3d633bh6Z /]# hadoop fs -ls ...
随机推荐
- hystrix应用介绍(三)
hystrix提供了两种隔离策略:线程池隔离和信号量隔离.hystrix默认采用线程池隔离. 1.线程池隔离 不同服务通过使用不同线程池,彼此间将不受影响,达到隔离效果. 例如: 我们可以通过andT ...
- 浅析sorted函数中的key
在python编程中,常对数据进行各种处理,排序尤为重要.但是在使用sorted内置函数时,我们发现它有三个参数. 第一个参数为可迭代数据,可以为一个字符串,数组,列表等等. 第三个为是否倒置输出. ...
- hibernate课程 初探一对多映射2-1 一对多映射简介
1 在数据库中用主外键的形式实现一对多的映射关系 2 hibernate 在一方设置集合set,表示多方
- 粗看ES6之解构赋值
标签: javascript es6 什么是解构赋值? 示例如下: <!DOCTYPE html> <html> <head> <meta charset=& ...
- echarts自适应宽度
const myChartContainer = document.getElementById( id ); const resizeMyChartContainer = function () { ...
- flexpager权限控制文件crossdomain.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cross-domain-policy SY ...
- 在CentOS上配置redis服务
#!/bin/sh # # redis Startup script for Redis Server # # chkconfig: - 80 12 # description: Redis is a ...
- vue2 数据交互 vue-resource
1.安装vue-resource到项目中,找到当前项目 输入:npm install vue-resource --save 2.安装完毕后,在main.js中导入,如下所示: import Vue ...
- 获取iframe子页面节点,响应浏览器宽高
获取iframe子页面节点,响应浏览器宽高 html部分代码 <div> <iframe width="100%" height="100%" ...
- 无法找到msvcp90.dll的一个碰巧解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 上周同事使用VS2008编译一个C++的控制台工程.工程在release模式下可以编译成功,但是运行总是出现无法 ...