欢迎投稿

今日深度:

Hive升级,

Hive升级,


场景:将hive0.13 升级到hive1.2.2

在下载的hive1.2.2的安装包中没有从0.13直接升级到1.2.2,而需要从0.13升级到0.14,之后再由0.14升到1.1,最终升到1.2

在$HIVE_HOME/scripts/metastore/upgrade 下有对应的元数据存放的数据库,如,MySQL,PostgreSQL;原来的是MySQL类型,进入到MySQL目录下,这里有相关的升级SQL。

个人看法:1.007-HIVE-78.mysql.sql  这种脚本是对表做修改,用来匹配升级之后的版本,有些SQL没有必要执行;

                 2.hive-schema-1.2.0.mysql.sql 这种脚本是用来创建对应版本hive的元数据,用来做升级后的表结构的参照;

                 3.upgrade-1.1.0-to-1.2.0.mysql.sql 这种脚本是用来升级的脚本;

                 4.READEME 这种文件,未必是“鸡肋”,但是在没有什么参考资料的时候,也还是有一定的帮助,还是值得一看。

操作:1. 关闭hive的的服务,例如metastore,hiveserver。

          2. 备份原数据库的数据 :

              mysqldump -uuser -ppasswd -Pport --databases hivedb >hivedb_bak.sql

          3. 创建元数据的metastore的表结构,只需要表结构即可:

              mysqldump --skip-add-drop-table --no-data hive3 >hive-0.13-nodata.sql

          4. 将3中创建的表结构,与对应hive版本表结构作比较,有些 差异可以接受,有些则需要自己修改

                    a).有一些表会在需要的时候创建出来,这种表可以不创建

                    b).NUCLEUS_TABLES,SEQUENCE_TABLE等由DataNucleus,ORM管理的,会自动创建

                    c).注意一些表的创建的外键发生错位如,SDS;

                   d).一些列名会发生更改

          5. 升级过程,按照升级的脚本进行升级,在MySQL的界面执行下面命令,一直跳转到目标版本

              source upgrade-0.13.0-to-0.14.0.mysql.sql

          6. 重启服务验证


www.htsjk.Com true http://www.htsjk.com/hive/36245.html NewsArticle Hive升级, 场景:将hive0.13 升级到hive1.2.2 在下载的hive1.2.2的安装包中没有从0.13直接升级到1.2.2,而需要从0.13升级到0.14,之后再由0.14升到1.1,最终升到1.2 在$HIVE_HOME/scripts/metastore/upgrad...
相关文章
    暂无相关文章
评论暂时关闭