hadoop笔记之Hive的数据存储(外部表)
Hive的数据存储(外部表)
Hive的数据存储(外部表)
外部表
- 指向已经在HDFS中存在的数据,可以创建Partition
- 它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异
- 外部表只有一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接。而删除一个外部表时,仅删除该链接
○如何创建一个外部表?
hdfs源文件查看
[root@hadooppseudo ~]# ls student0*
student01.txt student02.txt student03.txt
[root@hadooppseudo ~]# more student01.txt
Tom,23
Mary,20
[root@hadooppseudo ~]# more student02.txt
Mike,25
[root@hadooppseudo ~]# more student03.txt
Scott,21
King,20
[root@hadooppseudo ~]# hdfs dfs -put student01.txt /input
[root@hadooppseudo ~]# hdfs dfs -put student02.txt /input
[root@hadooppseudo ~]# hdfs dfs -put student03.txt /input
把student0*.txt各文件放入hdfs的过程中, 需要确认input目录已存在,否则hdfs会认为把student01.txt放入名为input的文件中,再放入student02.txt时会提示 File exist
创建一张外部表来指向这三个文件
create external table external_student
(sid int,sname string,age int)
row format delimited fields terminated by ','
location '/input';
查询一下表中的数据
select * from external_student;
Tom 23
Mary 20
Mike 25
Scott 21
King 20
将外部其中一个文件从hdfs中删除掉
[root@hadooppseudo ~]# hdfs dfs -rm /input/student03.txt
此时hive中
select * from external_student;
Tom 23
Mary 20
Mike 25
相应数据也被删除掉了
如果我们再执行
[root@hadooppseudo ~]# hdfs dfs -put student03.txt /input
那么再次执行查询,hive中消失的两行数据又回来了
select * from external_student;
Tom 23
Mary 20
Mike 25
Scott 21
King 20
这就是外部表
hadoop笔记之Hive的数据存储(外部表)的更多相关文章
- hadoop笔记之Hive的数据存储(内部表)
Hive的数据存储(内部表) Hive的数据存储(内部表) 基于HDFS 可使用hadoop给我们提供的web管理工具查看数据.打开管理工具localhost:9000–>Utilities下的 ...
- hadoop笔记之Hive的数据存储(桶表)
Hive的数据存储(桶表) Hive的数据存储(桶表) 桶表 桶表是对数据进行哈希取值,然后放到不同文件中存储. 比如说,创建三个桶,而创建桶的原则可以按照左边表中学生的名字来创建对应的桶.这样子把左 ...
- hadoop笔记之Hive的数据存储(视图)
Hive的数据存储(视图) Hive的数据存储(视图) 视图(view) 视图是一种虚表,是一个逻辑概念:可以跨越多张表 既然视图是一种虚表,那么也就是说用操作表的方式也可以操作视图 但是视图是建立在 ...
- hadoop笔记之Hive的数据存储(分区表)
Hive的数据存储(分区表) Hive的数据存储(分区表) 分区表 Partition对应于数据库的Partition列的密集索引 在Hive中,表中的一个Partition对应于表下的一个目录,所有 ...
- Hive 表操作(HIVE的数据存储、数据库、表、分区、分桶)
1.Hive的数据存储 Hive的数据存储基于Hadoop HDFS Hive没有专门的数据存储格式 存储结构主要包括:数据库.文件.表.试图 Hive默认可以直接加载文本文件(TextFile),还 ...
- 大数据软件安装之Hadoop(Apache)(数据存储及计算)
大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...
- GreenPlum 大数据平台--外部表(三)
一,外部表介绍 Greenplum 在数据加载上有一个明显的优势,就是支持数据的并发加载,gpfdisk是并发加载的工具,数据库中对应的就是外部表 所谓外部表,就是在数据库中只有表定义.没有数据,数据 ...
- hadoop笔记之Hive入门(Hive的体系结构)
Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是 ...
- hadoop笔记之Hive入门(什么是Hive)
Hive入门(一) Hive入门(一) 什么是Hive? Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别 实际上,Hive是构建在hadoop HDFS上的一个数据仓库. ...
随机推荐
- memcached 内存管理 分析(转)
Memcached是一个高效的分布式内存cache,了解memcached的内存管理机制,便于我们理解memcached,让我们可以针对我们数据特点进行调优,让其更好的为我所用.这里简单谈一下我对me ...
- 对 PInvoke 函数“WinVideo!WinVideo.webcam::SendMessage”的调用导致堆栈不对称
从.NET1.1升级到.NET2.0时出现的PInvokeStackImbalance错误微软官方的解释 (http://msdn2.microsoft.com/zh-cn/library/0htdy ...
- Universal Image Loader_图片异步加载
Universal Image Loader 是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示.所以,如果你的程序里需要这个功能的话,那么不妨试试它.他本来是 ...
- tornado 使用过程中提示‘no module name ioloop’
千万不要将程序文件命名为tornado.py 不然永远不会运行,因为运行后会在tornado.py里查找ioloop信息,永远找不到...
- webform登录操作中正则表达式运用
关于正则表达式的运用,估计很多人都会觉得这很麻烦.确实很麻烦,太多表达式我也记不住,很多都是临时需要用的时候再去查,有点小学生读小说的架势,不认识的字再去翻字典. 正则表达式严格来说对于程序的功能实现 ...
- SQL Server 改变数据库的名字
方法 1: alter database modiry name = new_database_name; ---------------------------------------------- ...
- MYSQL 查询缓存
查询缓存: 是指对select 语句的结果进行缓存,当下一次运行同样的select语句时,就可以直接返回数据,跳过解析,执行,优化阶段. 1.查询缓存会跟踪查询涉及的表,如果表发生变化,相关的缓存都会 ...
- jQuery validate (转载)
转自:http://blog.sina.com.cn/s/blog_608475eb0100h3h1.html jQuery校验 官网地址:http://bassistance.de/jquery-p ...
- de4dot命令 v2.0.3.3405
de4dot v2.0.3.3405 Copyright (C) 2011-2013 [email]de4dot@gmail.com[/email] Latest version and source ...
- Java_SSH项目主要步骤记录
建立Spring-Struts-Hibernate的步骤整理 1. 建立web project 2. 建立hernate, action, service包 3. 右击项目,add myeclipse ...