谦谦君子 提问于 2018-09-27 · 2508 次阅读 Hive 为什么要需要 mysql 已解决 hivemysqlhadoop 问题对人有帮助 0 问题没有实际价值 这个问题其实很多人不明白,Hive 是 Hadoop 上的数据仓库,为什么在安装 Hive 的时候要费老大的劲去安装和配置 MySQL 呢? 为什么 Hive 离不开 MySQL 这样的数据库? 我在这里自问自答一把。
已采纳
Hive 只是个工具,包括它的数据分析,依赖于 MapReduce,它的数据管理,依赖于外部系统。
这一步其实不是必须的,因为 Hive 默认的 metadata(元数据)是存储在 Derby 里面的,但是有一个弊端就是同一时间只能有一个 Hive 实例访问,这适合做开发程序时做本地测试。
Hive 提供了增强配置,可将数据库替换成 MySQL 等关系型数据库,将存储数据独立出来在多个服务示例之间共享。
也就说其实你可以把 MySQL 替换成 PostgreSQL 这些数据库等。
总计起来,Hive 需要 MySQL 这样的关系型数据库的原因是这几点:
Hive 安装模式:
由此可见,你在哪路径下,执行
hive
指令,就在哪路径下生成 metastore_db,建一套数据库文件,这样是极其不合适的,公司里每个人若不一样,则会显得非常混杂。导致员工之间无法公用交流。为此,需要一个公用的数据库,那就是 MySQL 来存储。这也是为什么,在安装 Hive 时,也需要配置 MySQL 了。