Hive是一个基于Hadoop的数据仓库平台,定义了一个类似SQL的查询语言:HQL,能够将用户编写的QL转化为相应的Mapreduce程序给予hadoop执行。
hive的组件和基本架构:

浏览器访问:http://localhost:9999/hwi/
默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持。
Hive的数据存放在哪?
数据在HDFS的warehouse目录下,一个表对应一个子目录。本地的/tmp目录存放日志和执行计划。
hive的元数据存放在mysql(不配置mysql则元数据存放在内嵌的deby中)
hive的表分为两种,内表和外表。
Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。
在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。
使用Mysql作为Hive metaStore的存储数据库
其中主要涉及到的表如下:

本文介绍了Hive数据仓库的基本概念,包括Hive的架构、元数据存储方式、数据存放位置等,并详细阐述了内部表与外部表的区别及应用场景。
1051

被折叠的 条评论
为什么被折叠?



