博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HIVE外部表 分区表
阅读量:5995 次
发布时间:2019-06-20

本文共 1365 字,大约阅读时间需要 4 分钟。

HIVE外部表 分区表

    外部表
        创建hive表,经过检查发现TBLS表中,hive表的类型为MANAGED_TABLE.
        在真实开发中,很可能在hdfs中已经有了数据,希望通过hive直接使用这些数据作为表内容。
        此时可以直接创建出hdfs文件夹,其中放置数据,再在hive中创建表管来管理,这种方式创建出来的表叫做外部表。
        #创建目录,上传已有文件
        hadoop fs -mkdir /data
        hadoop fs -put student.txt /datax/a.txt    
        hadoop fs -put student.txt /datax/b.txt    
        #在hive中创建外部表管理已有数据
        create external table ext_student(id int ,name string) row format delimited fields terminated by '\t' location '/datax';
        经过检查发现可以使用其中的数据。成功的建立了一张外部表。
        #vim ppp.txt
            1    x
            2    y
            3    z
        #hadoop fs - put  peo.avi
        再在该目录下手动创建文件,能不能查询出来呢?
        发现是可以的。
        不管是内部表还是外部表,新增的文件都可以自动被应用。
        在删除表时,内部表一旦删除对应元数据和hdfs中的文件夹和文件都会被删除。外部表只删除元数据,对应的hdfs中的文件夹和文件不会被删除。
    分区表
        hive也支持分区表
        对数据进行分区可以提高查询时的效率
        普通表和分区表区别:有大量数据增加的需要建分区表
        create table book (id bigint, name string) partitioned by (category string) row format delimited fields terminated by '\t';
        在创建分区表时,partitioned字段可以不在字段列表中。生成的文件自动就会具有该字段。
        
        分区表加载数据
        load data local inpath './book_china.txt' overwrite into table book partition (category='china');
        load data local inpath './book_us.txt' overwrite into table book partition (pubdate='2015-01-11');
        
        select * from book;
        select * from book where pubdate='2010-08-22';
        经检查发现分区也是一个目录。
        此时手动创建目录是无法被hive使用的,因为元数据库中没有记录该分区。
        如果需要将自己创建的分区也能被识别,需要执行:
            ALTER TABLE book add  PARTITION (category = 'zazhi') location '/user/hive/warehouse/datax.db/book/category=zazhi';

转载于:https://www.cnblogs.com/zpb2016/p/5791623.html

你可能感兴趣的文章
英文速记教程(Handwrite)
查看>>
怎样将ppt转换成pdf
查看>>
firefox 解决apache http server 开发过程中的缓存问题
查看>>
JavaScript中创建对象的4种方式
查看>>
Vue------第五天(关于组件的一些基础了解,包括组件的注册、Prop、自定义事件、使用插槽分发内容等)...
查看>>
linux 给目录增加sgid权限
查看>>
zookeeper学习笔记一
查看>>
HTTP消息推送的原理
查看>>
oracle jar包加入maven本地仓库
查看>>
POJ 1308 Is It A Tree?
查看>>
Scrapy常见问题(FAQ)
查看>>
java里int和Integer什么区别
查看>>
搜索常用到的“Do you mean"功能的算法(收藏)
查看>>
一直滚动的TextView[跑马灯效果]
查看>>
PhalApi:[1.21] 类的自动加载:遵循PEAR包的命名规范
查看>>
用户密码通过MD5加密后,如何验证呢?
查看>>
Ubuntu 12.04中设置安装Google拼音输入法
查看>>
工作总结-摸水游戏制作
查看>>
vs2010 自动删除 feature pack 添加的注册表方法
查看>>
postgresql数据类型之混合类型
查看>>