在hive中,元數(shù)據(jù)是指描述了hive庫、表、分區(qū)信息等的數(shù)據(jù),存放在hive的metastore中,是hive的一個(gè)重要組成部分。在實(shí)際應(yīng)用中,我們經(jīng)常需要將hive的元數(shù)據(jù)導(dǎo)入到mysql中,方便數(shù)據(jù)管理和查詢。下面是一個(gè)示例,介紹如何將hive元數(shù)據(jù)導(dǎo)入到mysql中。
首先,在hive中創(chuàng)建一個(gè)新的數(shù)據(jù)庫,比如我們可以將這個(gè)庫命名為“metastore”: CREATE DATABASE metastore; 然后,修改hive-site.xml文件,將hive.metastore.uris和javax.jdo.option.ConnectionURL的值修改為如下: hive-site.xml中:hive.metastore.uris thrift://localhost:9083 接著,還需要下載mysql-connector-java.jar,并將其放置到hive的lib目錄中。 wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz tar zxvf mysql-connector-java-5.1.47.tar.gz cp mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/local/hive/lib/ 最后,啟動(dòng)hive metastore服務(wù): hive --service metastore 測(cè)試一下是否成功,我們可以進(jìn)入mysql中查詢?cè)獢?shù)據(jù)是否已經(jīng)導(dǎo)入: mysql -uroot -p use metastore; show tables; 如果成功,我們應(yīng)當(dāng)可以看到一個(gè)__*的表集。至此,我們已經(jīng)成功將hive的元數(shù)據(jù)導(dǎo)入到mysql中。 javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true