如何删除hive表格的分区】的更多相关文章

今天的一个业务场景就是要把三年的数据从第一天不停的融合起来,每一天作为表格一个新的分区.由于空间有限,数据量很大,可能每天数据都是几十个G的大小.所以我需要做的一点就是在融合这一天之后,删除一天的分区数据,为了保险起见,我删除这一天的前三天的数据. 大致代码是这样的 function shan(){ cat <<EOF ALTER TABLE table_name DROP PARTITION (dt='$san'); EOF } first=20160706 second=20190310…
今天的一个业务场景就是要把三年的数据从第一天不停的融合起来,每一天作为表格一个新的分区.由于空间有限,数据量很大,可能每天数据都是几十个G的大小.所以我需要做的一点就是在融合这一天之后,删除一天的分区数据,为了保险起见,我删除这一天的前三天的数据. 大致代码是这样的 function shan(){ cat <<EOF ALTER TABLE table_name DROP PARTITION (dt='$san'); EOF } first=20160706 second=20190310…
今天的业务场景大概是这样的,我想把hive表格下载到本地文件系统,然后把这个文件传送到另一个服务器上. 但是这个业务场景一个核心问题就是说我本地机器内存有限,hive表格大概是70G,我是不可能全部下载到本地的.这个时候我想到的一个方法就是依靠分区实现这个目的. 首先这个hive表格的内容大概是这样的-temp_zida_uids_bowen_content_new_zida: uid,mid,content,date 是没有分区信息. 我首先要做的就是将这个表格改为具有分区.这种情况我们使用的…
面试官问我,什么是hive的静态分区和动态分区,这题我会呀. 简述 分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列. 这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描不关心的分区,快速定位,提高查询效率. hive的分区有两种类型: 静态分区SP(Static Partitioning) 动态分区DP(Dynamic Partitioning) 对于静态分区,表的分区数量和分区值是固定的.新增分区或者是加载分区数据时,需要提前指定分…
一.索引 简介 Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键. Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要读取的数据块的数量. 在可以预见到分区数据非常庞大的情况下,索引常常是优于分区的. 为什么要创建索引? Hive的索引目的是提高Hive表指定列的查询速度. 没有索引时,类似'WHERE tab1.col1 = 10' 的查询,Hive会加载整张表或分区,然后处理所有的rows, 但…
删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表中的分区 将history_uint 表中 p201812050000分区给予删除. alter table history_uint drop partition p201812050000;…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 一.Hive 参数 1.Hive 参数类型hive当中的参数.变量,都是以命名空间开头: 通过${}方式进行引用,其中system.env下的变量必须以前缀开头: 在Hive CLI查看参数 #显示所有参数 hive>set; #查看单个参数 hive> set hive.cli.print.h…
hive 求两个集合的差集 业务场景是这样的,这里由两个hive表格A和B A的形式大概是这样的:uid B的形式大概是这样的:uid 我想要得到存在A中但是不存在B中的uid 具体代码如下 select a.uid from (select uid from tmp_zidali_500wan_fullinfo_new)a left outer join (select uid from temp_zidali_uid_num_maxvalue_rate)b on a.uid=b.uid wh…
业务场景大概是这样的,这里由两个hive表格,tableA 和 tableB, 格式内容都是这样的: uid cate1 cate2 在hive QL中,我们知道union有着自动去重的功能,但是那是真对几行内容完全一致的情况下才可以.现在我们要进行去重的情况是根据uid进行去重. 也就是说可能存在这种情况: 1234 老师 唱歌 1234 老师 跳舞 对于hive表格中的这两行数据我们只想要保留其中的一行. 针对这种情况,我们做的大致思路就是,取两个表格数据的时候同时人为加上一个flag,然后…
业务场景大概是这样的,这里由两个hive表格,tableA 和 tableB, 格式内容都是这样的: uid cate1 cate2 在hive QL中,我们知道union有着自动去重的功能,但是那是真对几行内容完全一致的情况下才可以.现在我们要进行去重的情况是根据uid进行去重. 也就是说可能存在这种情况: 1234 老师 唱歌 1234 老师 跳舞 对于hive表格中的这两行数据我们只想要保留其中的一行. 针对这种情况,我们做的大致思路就是,取两个表格数据的时候同时人为加上一个flag,然后…