蜂巢和mysql的关系

介绍

这篇文章主要讲解了“蜂巢和mysql的关系”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“蜂巢和mysql的关系”吧!

蜂巢是一个基于Hadoop的数据仓库平台。通过蜂巢,我们可以方便地进行ETL的工作.hive定义了一个类似于SQL的查询语言:HQL,能够将用户编写的QL转化为相应的Mapreduce程序基于Hadoop执行。

蜂巢是Facebook 2008年8月刚开源的一个数据仓库框架,其系统目标与,Pig 有相似之处,但它有一些猪目前还不支持的机制,比如:更丰富的类型系统,更类似SQL的查询语言,表/分区元数据的持久化等。

<强>蜂巢 <强>可以看成是从SQL到使用映射-规约模式的 <强>映射器
,

<强>蜂巢的组件和体系架构:

<强> 蜂巢和mysql的关系

<强>蜂窝网络接口启动:。/蜂巢——服务注热水

浏览器访问:http://localhost: 9999/注热水/

默认情况下,蜂巢元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用MySQL作为元数据库,蜂巢内部对MySQL提供了很好的支持。

<强>蜂巢安装

内嵌模式:元数据保持在内嵌的Derby模式,只允许一个会话连接

本地独立模式:在本地安装MySQL,把元数据放到MySQL内

远程模式:元数据放置在远程的MySQL数据库。

<强>蜂巢的数据放在哪儿吗?

数据在HDFS的仓库目录下,一个表对应一个子目录。

本地的/tmp目录存放日志和执行计划

<强>蜂巢的表分为两种,内表和外表。
蜂巢创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。
在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

<强>使用MySQL作为蜂巢metaStore的存储数据库

其中主要涉及到的表如下:

表名说明关联键中环所有蜂巢表的基本信息(表名,创建时间,所属者等)
TBL_ID, SD_IDTABLE_PARAM表级属性,(如是否外部表,表注释,最后修改时间等)TBL_IDCOLUMNSHive表字段信息(字段注释,字段名、字段类型,字段序号)SD_IDSDS所有蜂巢表,表分区所对应的HDFS数据目录和数据格式SD_ID, SERDE_IDSERDE_PARAM序列化反序列化信息,如行分隔符,列分隔符,空的表示字符等SERDE_IDPARTITIONSHive表分区信息(所属表,分区值)PART_ID, SD_ID, TBL_IDPARTITION_KEYSHive分区表分区键(即分区字段)TBL_IDPARTITION_KEY_VALSHive表分区名(键值)PART_ID

感谢各位的阅读,以上就是“蜂巢和MySQL的关系”的内容了,经过本文的学习后,相信大家对蜂巢和MySQL的关系这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

蜂巢和mysql的关系