Hive 数据组织概念

1.hive的内部架构有四部分组成

     a.用户接口:shell/CLI(Command Line Interfaces),jdbc,webUI
    b.跨语言服务:Thrift server(可以使用多种不同的语言来做)
    c.底层的驱动:驱动器(Driver)
                  编译器(Compiler)
                  优化器(Optimizer)
                  执行器(Executor)
    d.元数据存储系统:Mysql 

2.hive 的数据组织

    a.库:
    b.表:  
        *在创建表的时候,必须指定列分隔符: (Ctrl+A,\x01)
                                 行分割符: (默认\n)
        Ⅰ.内部表/内建表
            hive的数据存储在HDFS上,有一个统一的目录,这个目录可以改变(默认/user/hive/warehouse)    
        Ⅱ.外部表
            存储在非统一目录下的数据。
            
            内部表和外部表区别:
            删除内部表时,删除了表的定义,也删除了表的数据
            删除外部表时,删除了表的定义,但不删除表的数据
            *如果数据已经存在,且数据不再默认目录,创建表时要创建外部表。    
        Ⅲ.分区表
            表示把数据进行分割开来进行存储
        Ⅳ.分桶表    
            跟MapReduce中的HashParititoner一模一样
            作用:提高连接查询的效率
                  提高采样的效率
        Hive中的数据存储在HDFS中的某个目录中。
        分区(可选):
            hive的分区,就等于是细化管理一张表的所有数据。
        自己手动控制区分
        数据文件/分桶的数据文件:
            分桶由程序控制,可能出现hash为同一值
    c.视图
        create view view _name as select_statment
        创建视图的时候,select_statment语句没有执行
        仅仅是表示创建一个SQL语句的快捷方式/别名,没有物化视图
    
    d.数据文件
        /usr/hive/warhouse/mydb.db/student/beijing.txt
        表示在mydb这个数据库中创建了一张表叫做student
        表中插入了一份数据叫做student.txt
        表的数据其实就是HDFS上对应的表数据存储目录下的所有数据。  

 

Hive 架构图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值