hive自带的内嵌元数据库是derby,derby只支持一个会话,并发性能差,实际生产不用derby,用derby的话还会遇到这样的问题:
你在哪个路径下,执行hive指令,就在哪路径下生成metastore_db,建一套数据库文件,更换目录执行操作,会找不到相关表等.比如在/usr下执行创建表,在/usr下可以找到这个表。在/etc下执行查找这个表,就会找不到 。这样是极其不合适的,公司里每个人若不一样,则会显得非常混杂。导致员工之间无法公用交流。
用mysql作为元数据库分为两个模式:
本地独立模式:在本地安装Mysql,把元数据放到Mysql内
远程模式:元数据放置在远程的Mysql数据库。