最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

[Hive] Hive的数据模型

[复制链接]
跳转到指定楼层
楼主
发表于 2019-1-22 21:22:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
内部表(Table)
内部表与数据库中的Table在概念上是类似的
每一个Table在Hive上都有一个对应的目录存储数据
所有的Table数据(不包括External Table)都保存在这个目录中
删除表时,元数据和数据都会删除
创建内部表
--创建t1表
CREATE TABLE t1(    tid int,    tname string,    age int);指定存储数据的位置CREATE TABLE t2(    tid int,    tname string,    age int)LOCATION '/mytable/hive/t2';指定列分隔符CREATE TABLE t3(    tid int,    tname string,    age int)ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';从已有的表创建并指定分隔符为逗号CREATE TABLE t4 ROW FORMAT DELIMITED FIELDS TERMINATED BY ','AS SELECT * FROM tablename;分区表(Partition)
使用分区可以提高查询的效率
partition 对应数据库中的Partition列的密集索引
在Hive中,表中的一个Partition对应表下的一个目录,所有的Partition的数据都存储在对应的目录中
创建分区表CREATE TABLE partition_table(    sid int,    sname string)PARTITIONED BY (gender string)ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';插入数据INSERT INTO TABLE partition_table partition(gender='M')SELECT sid,sname FROM table_name WHERE gender='M';查看对比分区表与没有分区表的执行计划,执行计划由从上往下,从右往左的顺序。explain SELECT * FROM partition_table WHERE gender='M';explain SELECT * FROM student1;外部表
指向已经在HDFS中存在的数据,可以创建Partition
它和内部表在元数据的组织是相同的,而实际数据的存储则有较大的差异
外部表只有一个过程,加载数据和创建表同时完成,并不会移动数据到数据仓库的目录中,只是与外部数据建立一个链接。当删除一个外部表时,仅删除该链接。
创建外部表CREATE EXTERNAL TABLE external_student(    sid int,    sname string,    age int)ROW FORMAT DELIMITED FIELDS TERMINATED BY ','LOCATION 'hdfs_location';桶表(Bucket Table)
降低系统的热块,提高查询的速度
桶表是对数据进行哈希取值,然后放到不同的文件中
创建桶表CREATE TABLE bucket_table(    sid int,    sname string,    age int)CLUSTERED BY(sname) INTO 5 BUCKETS;视图(View)
视图是一种虚表,是一个逻辑概念;可以跨越多张表
视图建立在已有表的基础之上,视图赖以建立的这些表称为基表
视图可以简化复杂的查询
创建视图CREATE VIEW onion_referrers(url COMMENT 'URL of Referring page')  COMMENT 'Referrers to The Onion website'  AS  SELECT DISTINCT referrer_url  FROM page_view  WHERE page_url='http://www.theonion.com';删除视图DROP VIEW onion_referrers;
楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-26 08:59

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表