hive分区用2个字段有何限制_Hive分区表和桶表的使用

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

4d10d0ad2753fae8136320694991decc.png

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

9d951db3919513aee1c27c902ffc4966.png

使用数据库

49a40f4217f322696f231e186a623783.png

我们创建数据表

f22a231babcaf07f53646836396124c5.png
b4a5f0f0672781b3e8815ddd4310486d.png

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

09b9225bb3595eeed2164ceeef373fbc.png
e74725a6c7b839037cb7b8672e29ba72.png

元数据信息

f0f928cb74626094c4a3be2b1e5de135.png

Formatted信息

a4d9993f1e3fc781b19c84668b353b41.png

那我们加载信息

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

34d794b77fc3a172678acca179fa83a0.png

我们查看数据

b95581451d5d0ac24246429abe9f50db.png

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

07d97882f21fd86137da3c1a8e62d9b5.png
ac4e92e5c40a5a8af47eab3ff6a5a927.png

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

b7b752aa1d186f4cd02b654dfc6a3c66.png
2461ef6cfc029972c54674b983edaf33.png

查看数据和HDFS上

d87f78f212518177424a0fb51852f0d3.png
98156bcd474dead391e957d42de2db8b.png

也可以创建二级分区

6092e17176b458b449af8c234e1d250d.png
9395010f651ac93c41c9640b0a839eb1.png

载入数据

19ad3862afeee92020871b297fc91f0f.png
bd3698cb1eabe741a64c015c39f895d1.png

查看下数据

f8faa94e6c9fde5bb682ee6ca9ac4abc.png

查看下元数据

495e1e984588de7eb66e3fc940d648fc.png

再看下HDFS

e7eb1e782cb4477692858cad2b837d0f.png
dae7f201f6bb39302928f4bd3b7a574c.png
2a24c8198a78a5f458d9546aa7b11429.png
6e76e97bfc04d5b84f9900c49a6ea5c3.png

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

fb328cd44ed6ca662d8fb597e31cd39a.png

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

我们再看这个地方-桶表

2c57fdf2f908224bf03f320a7bb582a6.png

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

我们准备个员工表

42d9d2095e497d67cb6aedea9fd408df.png
288aa4e500a31e3987f32fd3fabb913e.png

我们创建下桶表

052f3f4c699845a2eb24853f7b4b7e34.png
f430f31dcb9c91cf78c6cf53fc8b4c2e.png

我们加载下数据

a9fd434b2c98b00b5927cc6839b42c7a.png

看下HDFS

e89ca7cfc2c9250e0c63f2b056f6ef32.png

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

7180e02394d4c4bf0303a386737f1cda.png

运行过程

7484c85a94322805e2da3cc87bfef37b.png

出现了点问题

2e1d74325dde655b70d74da2510cec0d.png

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

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

再执行就可以了

9e3c6800da864d9e80955cfa35ee38b7.png

查看结果

abb87508115f15887234dc1928e05c29.png

我们看HDFS上

c91a95cdb7564b7eedd2251c80513c2b.png

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

7bc41b5d22d197eca8323a6119d7acbc.png

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

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数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle实用技巧

一. ORACLE SQL PLUS 使用技巧: ----①查找重复记录: SELECT DRAWING, DSNOFROM EM5_PIPE_PREFABWHERE ROWID! (SELECT MAX(ROWID) FROM EM5 _PIPE_PREFAB D WHERE EM5_PIPE_PREFAB.DRAWINGD.DRAWING AND EM5_PIPE_PREFAB.DSNOD.DSNO);  -- 和自己连接,查找其最大…

mysql按日、周、月、年分别统计数据

<!-- 按日查询 --> SELECT DATE_FORMAT(created_date,%Y-%m-%d) as time,sum(money) money FROM o_finance_detail where org_id = 1000 GROUP BY time <!-- 按月查询 --> SELECT DATE_FORMAT(created_date,%Y-%m) as time,sum(money) money FROM o_finan…

魔兽三国服务器维护,魔兽三国开服七天技巧

魔兽三国开服七天技巧是9K9K小编星星为大家带来的&#xff0c;开服前七天&#xff0c;是玩家战斗力飙升&#xff0c;最能拉开与别人距离的时候&#xff0c;那么开服七天应该怎么玩呢。开服七天技巧1.抽出第一个英雄&#xff0c;这个看脸哈!通常出的陆逊&#xff0c;步练师&…

使用Docker容器和Java EE进行持续交付

组织需要一种使应用程序交付快速&#xff0c;可预测和安全的方法&#xff0c;而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标。 对于Java EE应用程序&#xff0c;这可以在容器中打包应用程序&#xff0c;应用程序服务器和其他依赖项&#xff0c;这些容器…

MVC小例子

【约定胜于配置】 1. 右键Mode数据层添加新建项&#xff0c;用linq连接数据库 (不要在控制层上直接操控linq&#xff0c;要在数据层新建一个类&#xff0c;来对数据库进行操作) 2. 右键Mode数据层添加类&#xff0c;来完成对数据库的操作.类的名字叫Carda 3. 在Carda类中写对数…

flutter ios打包_Flutter通过BasicMessageChannel与Android iOS 的双向通信

更多文章请查看 flutter从入门 到精通本文章中的完整代码在这里题记&#xff1a;不到最后时刻&#xff0c;千万别轻言放弃&#xff0c;无论结局成功与否&#xff0c;只要你拼博过&#xff0c;尽力过&#xff0c;一切问心无愧。通过 Flutter 来进行移动应用开发&#xff0c;打包…

程序员养家活口接私活必备网站(顺便用技术改变世界)

程序员接私活的原因很多种(挣钱、养家糊口、提升技术等等)。下面整理了一下网站送给最有潜能的你。 提前准备好自己的笔记本和技术呦。 1.码客帮:https://www.make8.com/ 码客帮是一个基于众包的互联网软件技术服务平台,建立项目需求方与技术大牛的连接。帮助需求方快速找到靠…

作为服务器上的操作系统,作为服务器的操作系统

作为服务器的操作系统 内容精选换一换本节介绍如何使用华为云镜像&#xff0c;通过切换镜像部署Windows环境。当您已经购买了弹性云服务器&#xff0c;但想切换成其它类型操作系统&#xff0c;或者想使用镜像重新部署已经预装了其它软件的环境&#xff0c;可以参考本文档的介绍…

B.一个人的旅行 (dijkstra算法)

这题实在太醉了。十分简单的一道最短路径。我也wa了几次。最后发现可能是在循环次数n的设置上溢出了。s[1001]最大就1000。。。注意两点之间不止一个路径。上一题畅通工程就被坑惨了。 下面附题目 B - 一个人的旅行Time Limit:1000MS Memory Limit:32768KB 64bit IO Fo…

怎么判断前轮左右的位置_新手开车技巧,确定前轮位置,准确判断与障碍物距离...

今天我们就来学习下&#xff0c;开车时怎样判断前车轮的位置&#xff0c;还有就是怎样判断前车轮与障碍物的距离。我们先进行右轮的判断&#xff0c;首先认识下雨刷器接点位置&#xff0c;雨刷器接点位置&#xff0c;有一定的宽度。当左侧雨刷器的接点&#xff0c;完全和白色实…

安卓的系统设置 位置服务器,修改安卓定位服务器地址

修改安卓定位服务器地址 内容精选换一换状态代码由三位数字组成&#xff0c;第一个数字定义了响应的类别&#xff0c;有五种可能取值&#xff1a;1xx&#xff1a;指示信息&#xff0c;表示请求已接收&#xff0c;继续处理。2xx&#xff1a;成功&#xff0c;表示请求已被成功接收…

[翻译] ABCIntroView

ABCIntroView ABCIntroView is an easy to use onboarding which allows you to introduce your users to the applicaiton before reaching the Main Screen. ABCIntroView是一个简单易用的引导页。 To use the ABCIntroView please do the following: 你需要遵循以下几步来使…

怎样呵护友谊_【家校联动共同呵护孩子健康成长科普课堂】关爱学生心理健康,守护学生健康成长...

健/康/从/心/开/始小学时期是人的行为、性格和智力迅速发展的关键时期。在这一阶段&#xff0c;由于身心变化比较快&#xff0c;加之文化知识及社会经验的不足&#xff0c;小学生很容易产生不健康的心理&#xff0c;导致心理问题或心理疾病。排除小学生认识、情感、意志等方面的…

XML总结

关键词:xml、DTD约束、Schema约束、dom解析、sax解析、jaxp解析器、dom4j解析器 一、xml的简介 1、eXtensible Markup Language:可扩展标记型语言 ①标记型语言:HTML是标记型语言,即使用标签来操作。 ②可扩展: HTML里面的标签是固定,每个标签都有特定的含义<h1><…

中交叉的线_表现力一绝!用交叉线构图拍出来的照片,竟然可以这么吸睛!

不废话&#xff0c;今天为大家介绍一种构图方式&#xff1a;交叉线构图&#xff0c;用这种构图方式拍照&#xff0c;让你的照片表现力一绝&#xff01;1、什么是交叉线构图交叉线构图指的是&#xff0c;在画面中使用交叉线条进行布局的摄影构图方法。看图——↑红色的木桥形成四…

mysql、oracle知识点总结

下面是以前上学那会儿做的笔记,没有好好的整理,凑合着看吧,对新手还是挺有用的 select 标识 选择哪些列. from 标识从哪个表中选择. as 列的别名可以省略,别名使用双引号,可以在别名中包含空格或特殊字符并区分大小写. || 把列与列,列与字符连接在起一起 select ename||_|…

LongAccumulator和DoubleAccumulator类如何工作?

Java 8中的两个新类值得关注&#xff1a; LongAccumulator和DoubleAccumulator 。 它们旨在安全地跨线程安全地累积 &#xff08;稍后将进一步说明&#xff09;。 一个测试值一千个单词&#xff0c;所以它是这样工作的&#xff1a; class AccumulatorSpec extends Specificati…

jQuery 利用 $.getJson() 实现跨域

数据量不大时&#xff0c;跨域的不二之选&#xff0c;而且操作简单&#xff0c;易上手。 a.com/test.html //这里我假定有一些数据&#xff1a; var formData form.serialize(); //这里的jsoncallback 是一个回调函数名 &#xff0c;是必须的参数 //wrand保证每次请求不一样&a…

centos7创建asm磁盘_ASM环境下防止误将数据文件扩容到本地文件系统的方法

前言时常会接到客户或一线工程师反馈oracle数据库报“ora-01110”等错误&#xff0c;本人过往也处理过好几次类似的故障&#xff0c;发现基本上是由于开发人员或初级维护人员在执行数据库表空间扩容时&#xff0c;不小心将本身需要扩容到ASM磁盘组的数据文件扩容到了本地节点上…

前端初级html\css知识点总结

以前的笔记&#xff0c;初级前端知识点&#xff0c;浅显易懂&#xff0c; 一&#xff0c;htmlcss基础 1-1 Html和CSS的关系 学习web前端开发基础技术需要掌握&#xff1a;HTML、CSS、JavaScript语言。下面我们就来了解下这三门技术都是用来实现什么的&#xff1a; 1. HTML是网…