Защо да използвам MySQL в Hive като Metastore:
- По подразбиране Hive се предлага с база данни за дерби като метастора.
- Базата данни на Derby може да поддържа само един активен потребител наведнъж
- Derby не се препоръчва в производствена среда
Така че решението тук е
- Използвайте MYSQL като Meta съхранение в бекенда, за да свържете едновременно множество потребители с Hive
- MYSQL е най-добрият избор за самостоятелната метастора
Стъпки за инсталиране и конфигуриране на базата данни MySQL в Hive на Hadoop
Стъпка 1) В тази стъпка ще изпълним две задачи
- Инсталиране на mysql-сървър
- Проверка на mysql-сървъра и неговия процес
- Използвайки командата sudo apt-get install mysql-server, можем да изтеглим mysql сървър
Инсталирайте MySQL, както е показано на екранната снимка
- След успешна инсталация в края, MySQL ще работи, както е показано на снимката по-долу
Стъпка 2) Инсталиране на MySQL Java Connector. Това е за зависимости на Java и целта на връзката
Стъпка 3) Създаване на мека връзка за конектор в Hive lib директория . Това е за мека връзка между Java и MySql.
Стъпка 4) Конфигуриране на MySql съхранение в Hive
- Въведете MySql -u root -p, последвано от парола
- Тук -u представлява root потребителско име, p означава парола
- След въвеждане на горната команда, потребителят трябва да въведе валидна парола и след това да натисне Enter
- След това ще влезе в режим на черупка MySql
Стъпка 5) Създаване на потребителско име и парола за MySql, предоставяне на привилегии.
Трябва да изпълним командите, както е показано по-долу,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;
Стъпка 6) Конфигуриране на hive-site.xml
- След стъпка 5 задайте потребителско име и парола на базата данни MySQL и дайте привилегии.
- Тук ще конфигурираме някои свойства в Hive, за да получим връзка с базата данни MySQL .
От горната екранна снимка наблюдаваме следното. Тук дефинираме 4 свойства, които биха могли да бъдат необходими за установяване на MYSQL като Meta store в Hive
Те са както следва:
- Това свойство е за целта на URL адреса за връзка. Тук дефинираме ConnectionURL в това свойство. Той действа като JDBC връзка и също така представлява местоположението на мета-магазина
- Това свойство е за името на драйвера за връзка. Тук mysql.jdbc.Driver е уважаваната стойност, която трябва да споменем в маркера за стойност
- Това свойство се използва за дефиниране на Connection User name. В това определихме "hiveguru" като потребителско име
- Това свойство се използва за споменаване на парола за връзка. В това определихме паролата като потребителска парола.
След като свойствата, поставени в hive -site.xml, трябва ръчно да ги запазим (Ctrl + S) и да затворим файла. След затварянето на този файл трябва да създадем таблица Hive и да проверим подробностите за таблицата в хранилището на MySQL.
Поставете този код в hive-site.xml
hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true metadata is stored in a MySQL server javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver MySQL JDBC driver class javax.jdo.option.ConnectionUserName hiveuser user name for connecting to mysql server javax.jdo.option.ConnectionPassword hivepassword password for connecting to mysql server
Стъпка7) Създайте таблица "guru99" в Hive.
От горната екранна снимка можем да наблюдаваме следното
- Създаване на име на таблица "guru99" с две имена на колони
- Имената на колоните, споменати с неговия тип данни, като едно е цяло число, а друго е от тип низ
В следващата стъпка ще проверим дали се съхранява в MySql или не
Стъпка 8) Влизане в режим на черупка MySql
От горната екранна снимка можем да наблюдаваме следното
- Първо трябва да използваме базата данни като "използвам метастора"
- След като избере мета хранилището, можем да проверим таблиците в него, като използваме командата "show" таблици, както е показано на екранната снимка
- Каквито и да са таблиците, създадени в Hive, метаданните съответстват на това, че таблиците се съхраняват под TBLS в базата данни MySQL.
- „Таблица Guur99“ е създадена в Hive, така че съответните метаданни се съхраняват в MySQL под TBLS.
Стъпка 9) Проверка дали създадената таблица представя MySQL или не
Като въведете select * от TBLS, той ще покаже таблиците, които създадохме в режим на обвивка на Hive
От горната екранна снимка можем да наблюдаваме следните неща:
- Името на таблицата "guru99", създадено от Hive, може да се показва в режим на черупка на MySQL
- Освен това той ще предоставя и информация като време за създаване на таблица, време за достъп и други свойства, както е показано на снимката на екрана по-горе.