您现在的位置是:热点 >>正文
Hive中的内部表、外部表、分区表和分桶表
热点46936129人已围观
简介...
在Hive数据仓库中,重要点就是Hive中的四个表。Hive 中的表分为内部表、外部表、分区表和分桶表。
内部表
默认创建的表都是所谓的内部表,有时也被称为管理表。因为这种表,Hive 会(或多或少地)控制着数据的生命周期。Hive 默认情况下会将这些表的数据存储在由配置项hive.metastore.warehouse.dir(例如,/user/hive/warehouse)所定义的目录的子目录下。当我们删除一个管理表时,Hive 也会删除这个表中数据。管理表不适合和其他工具共享数据。
具体的内部表创建命令
CREATE TABLE emp( empno INT, ename STRING, job&nbHisp;STRING, mgr INT, hiredate TIMESTAMP, sal DECIMAL(7,2), comm DECIMAL(7,2), deptno INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY " "; -- 分隔符 外部表
外部表称之为EXTERNAL_TABveLE;其实就是,在创建表时可以自己指定目录位置(LOCATION);如果删除外部表时,只会删除元数据不会删除表数据;
具体的外部表创建命令,比内部表多一个LOCATION而已。
CREATE EXTERNAL TABLE emp_external( empno INT, ename STRING, job STRING, mgr INT, hiredate TIMESTAMP, sal DECIMAL(7,2), comm DECIMAL(7,2), &n中的bsp;deptno INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY " " LOCATION '/hive/emp_external'; 「内部表和外部表的区别:」 创建内部表时:会将数据移动到数据仓库指向的路径; 创建外部表时:仅记录数据所在路径,不对数据的位置做出改变; 删除内部表时:删除表元数据和数据; 删除外部表时,删除元数据,不删除数据。 分区表
分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。
具体的分内部区表创建命令如下,比外部表多一个PARTITIONED。PARTITIONED英文意思就是分区的,需要指定表中的其中一个字段,这个就是根据该字段的不同,划分不同的文件夹。
CREATE EXTERNAL TABLE emp_partition( empno INT, ename STRING, job STRING, mgr INT, hiredate TIMESTAMP, sal DECIMAL(7,2), comm DECIMAL(7,2) &nbs表、p;) PARTITIONED BY (deptno INT) -- 按照部门编号进行分区 ROW FORMAT DELIMITED FIELDS TERMINATED BY " " LOCATION '/hive/emp_partition'; 分桶表
分区在HDFS上的表现形式是一个目录,分桶则是一个单独的文件。分桶则是指定分桶表的某一列,让该列数据按照哈希取模的方式随机、均匀地分发到各个桶文件中。
具体的分桶表创建命令如下,比分区表的不同在于CLUSTERED。CLUSTERED英文意思就是群集的。分桶操作和分区一样,需要根据某一列具体数据来进行哈希取模操作外部,故指定的分桶列必须基于表中的某一列(字段)
CREATE EXTERNAL TABLE emp_bucket( empno INT, ename STRING, job STRING, mgr INT, hiredate TIMESTAMP, sal DECIMAL(7,2), comm DECIMAL(7,2), deptno INT) CLUSTERED BY(empno) 表、SORTED BY(empno ASC) INTO 4 BUCKETS --按照员工编号散列到四个 bucket 中 ROW FORMAT DELIMITED FIELDS TERMINATED BY " " LOCATION '/hive/emp_bucket'; 「分区表和分桶表的区别:」
Hive 数据表可以根据某些字段进行分区操作,细化数据管理,可以让部分查询更快。同时表和分区也可以进一步被划分为 Buckets,分桶表的原理和 MapReduce 编程中的 HashPartitioner 的原理类似;分区和分桶都是细化数据管理,但是分区表是手动添加区分,由于 Hive 是读模式,所以对分区添加进分区的数据不做模式校验,分桶表中的数据是按照某些分桶字段进行 hash 散列形成的多个文件,所以数据的准确性也高很多。
分桶表的建表有三种方式:直接建表,CREATE TABLE LIKE 和 CREATE TABLE AS SELECT
注:不能直接向桶表中加载数据,需要使用insert语句插入数据,因此只要见到load data 到桶表的,基本是乱来的。分桶表的数据通常只能使用 CTAS(CREATE TABLE AS SELECT) 方式插入,因为 CTAS 操作会触发 MapReduce,因此分桶的时间是比较长的,因为要进行MapReduce操作。
根据上面命令,成功创建了内部表、外部表、分区表和分桶表。
下面依次插入数据到四张表,emp.txt具体内容如下:
7369 SMITH CLERK 7902 1980-12-17 00:00:00 800.00 2表和0 7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600.00 300.00 30 7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250.00 500.00 30 7566 JONES MANAGER 7839 1981-04-02 00:00:00 2975.00 20 7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250.00&nb分桶sp;1400.00 30 7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850.00 30 7782 CLARK MANAGER 7839 1981-06-09 00:00:00 2450.00 10 7788 SCOTT ANALYST 7566 1987-04-19 00:00:00 1500.00 20 7839 KING PRESIDENT 1981-11-17 00:00:00 5000.00&Hinbsp; 10 7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500.00 0.00 30 7876 ADAMS CLERK 7788 1987-05-23 00:00:00 1100.00 20 7900 JAMES CLERK 7698 1981-12-03 00:00:00 950.00 30 7902 FORD ANALYST 7566 1981-12-03 00:00:00 3000.00&nbvesp; 20 7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300.00 10
具体的插入数据命令如下所示:
## 内部表 load data local inpath "emp.txt" into table emp; ## 外部表 load data local inpath "emp.txt" into table emp_external; ## 分区表 LOAD DATA LOCAL INPATH 中的;"emp.txt" OVERWRITE INTO TABLE emp_partition PARTITION (deptno=10); LOAD DATA LOCAL INPATH "emp.txt" OVERWRITE INTO TABLE emp_partition PARTITION (deptno=20); LOAD DATA LOCAL INPATH "emp.txt" OVERWRITE INTO TABLE emp_partition PARTITION (deptno=30); ## 分桶表&n内部bsp;-- 启用桶表 set hive.enforce.bucketing=true; -- 限制对桶表进行load操作 set hive.strict.checks.bucketing = true; INSERT INTO TABLE emp_bucket SELECT * FROM emp; --这里的 emp 表就是一张普通的雇员表
每次向桶表进行INSERT操作,其实都需要创建中间表。
Tags:
下一篇:刷脸取款,安不安全?
相关文章
标签: 鸿蒙 华为 余承东 生态
热点云梦级11月3日云梦级消息,今日,华为终端BG董事长余承东在华为心声社区发布公司内部全员信宣布,搭载鸿蒙5的终端设备数量突破2300万,成功迈过关键生死线,生态正循环加速。在信中,余承东强调,2300...
【热点】
阅读更多标签: 余额宝 抖音红果短剧 享界S9 鸿蒙智行
热点Hello,大家早上好,又是元气满满的一天,先来浏览新鲜的早报吧~ 【余额宝七日年化收益率首次跌破 1%】 数据显示,天弘余额宝七日年化收益率已跌破 1% 至 0.973%,万份收益仅 0.2431...
【热点】
阅读更多Python中组合分类和回归的神经网络模型
热点Python中文社区 (ID:python-china) 某些预测问题需要为同一输入预测数字值和类别标签。一种简单的方法是在同一数据上开发回归和分类预测模型,然后依次使用这些模型。另一种通常更有效的方...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.navylookout.com/?ID=nSBR6Ivdu6lZg1yr2SDs30Lo5sTs76yJ&s=谷歌搜索留痕【tg:seogoogle987】,Ad0
- https://www.oikos-tecnics.com/?s=谷歌搜索留痕【tg:seogoogle987】,2oI
- https://www.takachi-enclosure.com/search?eqYB=gnI31Ou&text=谷歌搜索留痕【tg:seogoogle987】,Fb8
- https://search.danawa.com/dsearch.php?query=谷歌搜索留痕【tg:seogoogle987】7uS
- https://store.line.me/search/sticker/ja?q=谷歌搜索留痕【tg:seogoogle987】LxP
- https://www.selfsufficientish.com/main/?s=谷歌搜索留痕【tg:seogoogle987】,3re
- https://www.toy-people.com/?s=谷歌搜索留痕【tg:seogoogle987】,GPc
- https://www.u-bourgogne.fr/?cat=117&s=谷歌搜索留痕【tg:seogoogle987】,lGi
- https://www.nyif.com/catalogsearch/result/?q=谷歌搜索留痕【tg:seogoogle987】,M3X
- https://www.kaliastyle.com/catalogsearch/result/?q=GOOGLE谷歌搜索留痕【tg:seogoogle987】,4G9
- https://www.remit.co.jp/vi/?s=谷歌搜索留痕【tg:seogoogle987】C4w
- https://www.partilerdunyasi.com/index.php?route=product/search&tag=谷歌搜索留痕【tg:seogoogle987】,5TG
- https://www.pixiv.net/tags/谷歌搜索留痕【tg:seogoogle987】,YZH
- https://www.remit.co.jp/vi/?s=谷歌搜索留痕【tg:seogoogle987】7W2
- https://www.reginatangoshoes.com/en/catalogsearch/result/index/?T=1686132113407&q=谷歌搜索留痕【tg:seogoogle987】,pqi
- https://www.wmfe.org/?s=谷歌搜索留痕【tg:seogoogle987】,Ypc
- https://www.rea.govt.nz/search?searchterm=谷歌搜索留痕【tg:seogoogle987】,cyA
- https://www.repetto.jp/item/search?action=QUERY&q=谷歌搜索留痕【tg:seogoogle987】,LXa
- https://www.zutari.com/?s=谷歌搜索留痕【tg:seogoogle987】,FDX
- https://www.ng-slo.si/si/iskanje?cat=114&q=谷歌搜索留痕【tg:seogoogle987】,Q3P
- https://www.mygrandma.com/Items.aspx?search=谷歌搜索留痕【tg:seogoogle987】,mgT
- https://www.remit.co.jp/pt/?action=CHECK&s=谷歌搜索留痕【tg:seogoogle987】,Fhb
- https://www.nuovabai.it/catalogsearch/result/?action=SEARCH&q=谷歌搜索留痕【tg:seogoogle987】,rmV
- https://hsmoa.com/search?query=谷歌搜索留痕【tg:seogoogle987】AbD
- https://www.unclefossil.com/search/谷歌搜索留痕【tg:seogoogle987】gad_source=1&gclid=Cj0KCQjw_-GxBhC1ARIsADGgDjsNKplUXa2F6YGlHBK2sHDQ88cgsJBb05DyO99TV9jNq_cT0kGMqyQaAgHQEALw_wcB
- https://www.springfieldlibrary.org/library/?s=谷歌搜索留痕【tg:seogoogle987】,epx
- https://www.parriscues.com/catalogsearch/result/?q=谷歌搜索留痕【tg:seogoogle987】,Xdc
- https://www.tcv.org.uk/search/谷歌搜索留痕【tg:seogoogle987】,ei3
- https://www.metaltix.com/?view=tours&filter=search&q=谷歌搜索留痕【tg:seogoogle987】,L0g
- https://www.searcychamber.com/list/search?AsfnA=DtkTQzs&q=谷歌搜索留痕【tg:seogoogle987】,7ny
- https://www.sbaad.no/?s=谷歌搜索留痕【tg:seogoogle987】,zxl
- https://www.parl.ca/legisinfo/fr/projets-de-loi?parlsession=all&view=list&keywords=谷歌搜索留痕【tg:seogoogle987】,UND
- https://www.ucycle.com/search/=谷歌搜索留痕【tg:seogoogle987】,Q1j
- https://www.shacknews.com/editorial-search?q=谷歌搜索留痕【tg:seogoogle987】,bgX
- https://www.laoairlines.com/?action=QUERY&s=谷歌搜索留痕【tg:seogoogle987】,5TC
- https://www.remit.co.jp/en/?s=谷歌搜索留痕【tg:seogoogle987】,3r5
- https://www.mintos.org/?s=谷歌搜索留痕【tg:seogoogle987】,dww
- https://www.teamlab.art/es/?submit=谷歌搜索留痕【tg:seogoogle987】,pdl
- https://search.danawa.com/dsearch.php?query=谷歌搜索留痕【tg:seogoogle987】9Ns
- https://www.lezhin.com/ko/tags/谷歌搜索留痕【tg:seogoogle987】,84O
- https://www.tycoonstory.com/?s=谷歌搜索留痕【tg:seogoogle987】,oVm
- https://www.ons.gov.uk/search?q=谷歌搜索留痕【tg:seogoogle987】,MLm
- https://www.abbreviations.com/谷歌搜索留痕【tg:seogoogle987】4Yd
- https://www.monroecounty.gov/search/?q=谷歌搜索留痕【tg:seogoogle987】,HoS
- https://www.goodreads.com/quotes/tag/谷歌搜索留痕【tg:seogoogle987】6qH
- https://www.sic-info.org/vi/?s=谷歌搜索留痕【tg:seogoogle987】,BGg
- https://www.pickett.co.uk/collections/vendors?q=谷歌搜索留痕【tg:seogoogle987】,k9W
- https://www.zisha.com/shop/list.shtml?wap_keyword=谷歌搜索留痕【tg:seogoogle987】,xt9
- https://www.sweat.com/collections/vendors?q=谷歌搜索留痕【tg:seogoogle987】,cIN
- https://www.prattlibrary.org/search?q=谷歌搜索留痕【tg:seogoogle987】,XDz