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的数据存储(外部表)的更多相关文章

  1. hadoop笔记之Hive的数据存储(内部表)

    Hive的数据存储(内部表) Hive的数据存储(内部表) 基于HDFS 可使用hadoop给我们提供的web管理工具查看数据.打开管理工具localhost:9000–>Utilities下的 ...

  2. hadoop笔记之Hive的数据存储(桶表)

    Hive的数据存储(桶表) Hive的数据存储(桶表) 桶表 桶表是对数据进行哈希取值,然后放到不同文件中存储. 比如说,创建三个桶,而创建桶的原则可以按照左边表中学生的名字来创建对应的桶.这样子把左 ...

  3. hadoop笔记之Hive的数据存储(视图)

    Hive的数据存储(视图) Hive的数据存储(视图) 视图(view) 视图是一种虚表,是一个逻辑概念:可以跨越多张表 既然视图是一种虚表,那么也就是说用操作表的方式也可以操作视图 但是视图是建立在 ...

  4. hadoop笔记之Hive的数据存储(分区表)

    Hive的数据存储(分区表) Hive的数据存储(分区表) 分区表 Partition对应于数据库的Partition列的密集索引 在Hive中,表中的一个Partition对应于表下的一个目录,所有 ...

  5. Hive 表操作(HIVE的数据存储、数据库、表、分区、分桶)

    1.Hive的数据存储 Hive的数据存储基于Hadoop HDFS Hive没有专门的数据存储格式 存储结构主要包括:数据库.文件.表.试图 Hive默认可以直接加载文本文件(TextFile),还 ...

  6. 大数据软件安装之Hadoop(Apache)(数据存储及计算)

    大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...

  7. GreenPlum 大数据平台--外部表(三)

    一,外部表介绍 Greenplum 在数据加载上有一个明显的优势,就是支持数据的并发加载,gpfdisk是并发加载的工具,数据库中对应的就是外部表 所谓外部表,就是在数据库中只有表定义.没有数据,数据 ...

  8. hadoop笔记之Hive入门(Hive的体系结构)

    Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是 ...

  9. hadoop笔记之Hive入门(什么是Hive)

    Hive入门(一) Hive入门(一) 什么是Hive? Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别 实际上,Hive是构建在hadoop HDFS上的一个数据仓库. ...

随机推荐

  1. EXT.NET常用属性

    Ext_数字输入框_Ext.form.NumberField:   <mce:script type="text/javascript"><!-- /* Ext. ...

  2. Struts2 访问web元素

    访问web元素的四种方法(耦合,依赖注入).(耦合,非依赖注入).(非耦合,依赖注入).(非耦合,非依赖注入) 耦合:可以得到HttpServletResponse,HttpServletReques ...

  3. [IOS]图标尺寸

    最新参考网址:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Ico ...

  4. C# 过滤特殊字符

    . /// <summary> /// 过滤不安全的字符串 /// </summary> /// <param name="Str"></ ...

  5. android 7.0带来的

    Android 7.0 给开发者带来了什么 新的 Andorid N (Andorid 7.0)预览版发布了,但是新的Android预览版需要我们在已存在的APP上测试几乎全部内容,包括不同种类的屏幕 ...

  6. size对齐

    写了很多程序,在很多地方都要用到内存长度对齐,比如文件的大小,pe文件内存的对齐等等. 下面记下两种简单的方法,觉得没啥大用处. #include <IOSTREAM> #include ...

  7. 井字棋(Tic-Tac-Toe)

    井字棋介绍:https://en.wikipedia.org/wiki/Tic-tac-toe 井字棋简单,但是获胜策略却和直觉不同,四角比中间重要性要高,而且先手有很大的获胜概率获胜(先手胜:91, ...

  8. CxImage整理(叠加字符/图像合并)

    //CxImage叠加字符 void CCxImageTestDlg::OnBnClickedButton1() { CxImage imgJPG; // 定义一个CxImage对象 imgJPG.L ...

  9. fastjson的常用使用方法

    package Demo; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import ...

  10. Django模板-在视图中使用模板

    之前我们已经有了自己的视图mysite.views.py中,应该是这样子的 from django.http import HttpResponse import datetime def curre ...