原文链接:

https://www.toutiao.com/i6766897068138037763/?group_id=6766897068138037763

我们看官网文档中这个地方

我们先创建好数据库,以供练习

使用数据库

我们创建数据表

我们创建分区表,选取的字段不能是表中存在的字段

元数据信息

Formatted信息

那我们加载信息

load data local inpath '/data/hivetest/dept.txt' into table dept_partition partition(bmbh=1);

我们查看数据

我们看下HDFS上,是目录的形式

所以我们可以多加载几份数据

查看数据和HDFS上

也可以创建二级分区

载入数据

查看下数据

查看下元数据

再看下HDFS

我们就可以依据条件查询使用where语句

注:分区表可以提高查询的效率。

我们再看这个地方-桶表

这个和分区表不一样的地方,选取字段必须是表里的字段

我们准备个员工表

我们创建下桶表

我们加载下数据

看下HDFS

实际在桶表中,我们应该使用另外一种语句

运行过程

出现了点问题

三个节点时间不同步,设定下时间

date -s "2019-12-5 17:50:00"

再执行就可以了

查看结果

我们看HDFS上

我们查看下文件,已经分开了,如果有问题看看你的hive版本是否有这个属性没有打开。hive.enforce.bucketing。

注:其中桶表查询还有下面的语句,可以仔细研究下,暂时先放一放,后续学习深入再了解。

Select * from table tablesample(bucket 1 out of 2)

Tablesample是抽样数据,语法tablesample(bucket x out of y)y必须是table总bucket数的倍数或者因子。Hive根据y的大小,决定抽样比例。例如:table总共分为64份,当y=32时,抽取(64/32)2个bucket数据;当y=128时,抽取(64/128)1/2个bucket数据,x表示从哪个bucket开始抽取,例如table总bucket数为32,tablesample(3 out of 16),表示总共抽取(32/16)2个bucket数据,分别为第3个bucket和第(3+16)19个bucket数据。

Hive分区表和桶表的使用的更多相关文章

  1. Hadoop: the definitive guide 第三版 拾遗 第十二章 之Hive分区表、桶

    Hive分区表 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念.分区表指的是在创建表时指 ...

  2. Hive的分桶表

    [分桶概述] Hive表分区的实质是分目录(将超大表的数据按指定标准细分到指定目录),且分区的字段不属于Hive表中存在的字段:分桶的实质是分文件(将超大文件的数据按指定标准细分到分桶文件),且分桶的 ...

  3. hive 四种表,分区表,内部,外部表,桶表

    Hive四大表类型内部表.外部表.分区表和桶表 一.概述 总体上Hive有四种表:外部表,内部表(管理表),分区表,桶表.分别对应不同的需求.下面主要讲解各种表的适用情形.创建和加载数据方法. 二.具 ...

  4. 分区表,桶表,外部表,以及hive一些命令行小工具

    hive中的表与hdfs中的文件通过metastore关联起来的.Hive的数据模型:内部表,分区表,外部表,桶表受控表(managed table):包括内部表,分区表,桶表 内部表: 我们删除表的 ...

  5. 一起学Hive——创建内部表、外部表、分区表和分桶表及导入数据

    Hive本身并不存储数据,而是将数据存储在Hadoop的HDFS中,表名对应HDFS中的目录/文件.根据数据的不同存储方式,将Hive表分为外部表.内部表.分区表和分桶表四种数据模型.每种数据模型各有 ...

  6. hive 分区表和分桶表

    1.创建分区表 hive> create table weather_list(year int,data int) partitioned by (createtime string,area ...

  7. Hive 学习之路(五)—— Hive 分区表和分桶表

    一.分区表 1.1 概念 Hive中的表对应为HDFS上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大. 分区为HDFS上表目录的子目录,数据按照分区存储在子目录中.如 ...

  8. Hive 系列(五)—— Hive 分区表和分桶表

    一.分区表 1.1 概念 Hive 中的表对应为 HDFS 上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大. 分区为 HDFS 上表目录的子目录,数据按照分区存储在子 ...

  9. Hive 教程(四)-分区表与分桶表

    在 hive 中分区表是很常用的,分桶表可能没那么常用,本文主讲分区表. 概念 分区表 在 hive 中,表是可以分区的,hive 表的每个区其实是对应 hdfs 上的一个文件夹: 可以通过多层文件夹 ...

随机推荐

  1. Nginx模块之limit_conn & limit_req

    limit_conn模块 生效阶段:NGX_HTTP_PREACCESS_PHASE阶段 生效范围:全部worker进程(基于共享内存),进入preaccess阶段前不生效,限制的有效性取决于key的 ...

  2. smbclient 使用方法

        1,列出某个IP地址所提供的共享文件夹 smbclient -L 198.168.0.1 -U username%password   2,像FTP客户端一样使用smbclient smbcl ...

  3. BZOJ 题目乱做

    记录一点在 BZOJ 上做的题. 众所周知原 BZOJ 炸掉了,于是跑去了 HydroOJ 的 BZOJ 域上面做. 目录 P1001 [Beijing2006]狼抓兔子 P1002 [FJOI200 ...

  4. LuoguP7505 「Wdsr-2.5」小小的埴轮兵团 题解

    Content 给出一个范围为 \([-k,k]\) 的数轴,数轴上有 \(n\) 个点,第 \(i\) 个点的位置为 \(a_i\).有 \(m\) 次操作,有且仅有以下三种: 1 x:所有点往右移 ...

  5. Birt报表分组格式调整

    1.以如下SQL语句来说明,查找未完成打分的人员,有cname(测评人名字),uname(测评人单位),bname(被测评人名字),flag字段(未完成标志) SELECT var.cname,var ...

  6. PC点击链接打开QQ聊天窗口

    <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=QQ号码&site=qq& ...

  7. 【LeetCode】957. Prison Cells After N Days 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 周期是14 日期 题目地址:https://leet ...

  8. 【九度OJ】题目1192:回文字符串 解题报告

    [九度OJ]题目1192:回文字符串 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1192 题目描述: 给出一个长度不超过1000的 ...

  9. 【LeetCode】566. Reshape the Matrix 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 变长数组 求余法 维护行列 相似题目 参考资料 日期 ...

  10. CH7511|LT7211|PS8625替代方案 CS5211 设计EDP转LVDS优势方案原理图+PCB板设计

    CH7511|LT7211|PS8625这三款都是专门用于设计EDP转LVDS转接板或者屏转换方案板,CH7511.LT7211.PS8625目前这几款都是出于缺货状态,台湾瑞奇达Capstone 新 ...