Cấu hình kho lưu trữ HIVE với MYSQL

Anonim

Tại sao nên sử dụng MySQL trong Hive làm Metastore:

  • Theo Mặc định, Hive đi kèm với cơ sở dữ liệu derby dưới dạng di căn.
  • Cơ sở dữ liệu Derby chỉ có thể hỗ trợ một người dùng đang hoạt động tại một thời điểm
  • Derby không được khuyến khích trong môi trường sản xuất

Vì vậy, giải pháp ở đây là

  • Sử dụng MYSQL làm bộ lưu trữ Meta ở phần phụ trợ để kết nối nhiều người dùng với Hive cùng một lúc
  • MYSQL là sự lựa chọn tốt nhất cho thiết bị di động độc lập

Các bước cài đặt và cấu hình cơ sở dữ liệu MySQL trong Hive trên Hadoop

Bước 1) Trong bước này, chúng ta sẽ thực hiện hai tác vụ

  1. Cài đặt máy chủ mysql
  2. Kiểm tra máy chủ mysql và quy trình của nó
  1. Sử dụng lệnh sudo apt-get install mysql-server, chúng ta có thể tải xuống máy chủ mysql

Cài đặt MySQL như trong ảnh chụp màn hình

  1. Sau khi kết thúc cài đặt thành công, MySQL sẽ chạy như trong ảnh chụp màn hình bên dưới

Bước 2) Cài đặt MySQL Java Connector. Điều này dành cho các phụ thuộc java và mục đích kết nối

Bước 3) Tạo liên kết mềm cho trình kết nối trong thư mục Hive lib . Đây là liên kết mềm giữa Java và MySql.

Bước 4) Định cấu hình bộ nhớ MySql trong Hive

  • Nhập MySql -u root -p theo sau là mật khẩu
  • Ở đây -u đại diện cho tên người dùng gốc, p biểu thị mật khẩu
  • Sau khi nhập lệnh trên, người dùng phải nhập mật khẩu hợp lệ và sau đó nhấp vào enter
  • Sau đó, nó sẽ vào chế độ MySql shell

Bước 5) Tạo tên người dùng và mật khẩu cho MySql, cấp các đặc quyền.

Chúng ta phải thực hiện các lệnh như hình dưới đây,

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;

Bước 6) Định cấu hình hive-site.xml

  • Sau Bước 5, gán tên người dùng và mật khẩu cho cơ sở dữ liệu MySQL và được cấp các đặc quyền.
  • Ở đây chúng ta sẽ cấu hình một số thuộc tính trong Hive để có được kết nối với cơ sở dữ liệu MySQL .

Từ ảnh chụp màn hình trên, chúng ta quan sát những điều sau đây. Ở đây chúng tôi đang xác định 4 thuộc tính có thể cần thiết để thiết lập MYSQL làm cửa hàng Meta trong Hive

Những điều này như sau:

  1. Thuộc tính này dành cho mục đích URL kết nối. Ở đây chúng tôi đang định nghĩa ConnectionURL trong thuộc tính này. Nó hoạt động như kết nối JDBC và cả vị trí đại diện của nó
  2. Thuộc tính này dành cho tên trình điều khiển kết nối. Ở đây mysql.jdbc.Driver là giá trị được tôn trọng mà chúng ta phải đề cập đến trong thẻ giá trị
  3. Thuộc tính này được sử dụng để xác định tên người dùng kết nối. Trong phần này, chúng tôi đã xác định "hiveguru" là tên người dùng
  4. Thuộc tính này được sử dụng để đề cập đến Mật khẩu kết nối. Trong điều này, chúng tôi đã xác định mật khẩu là mật khẩu người dùng.

Khi các thuộc tính được đặt trong hive -site.xml, chúng ta phải lưu thủ công (Ctrl + S) và đóng tệp. Sau khi đóng tệp này, chúng ta phải tạo bảng Hive và kiểm tra chi tiết bảng trong bộ nhớ MySQL.

Đặt mã này trong hive-site.xml

hive-site.xml


javax.jdo.option.ConnectionURLjdbc:mysql://localhost/metastore?createDatabaseIfNotExist=truemetadata is stored in a MySQL server
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverMySQL JDBC driver class
javax.jdo.option.ConnectionUserNamehiveuseruser name for connecting to mysql server
javax.jdo.option.ConnectionPasswordhivepasswordpassword for connecting to mysql server

Bước 7) Tạo bảng "guru99" trong Hive.

Từ ảnh chụp màn hình trên, chúng ta có thể quan sát những điều sau

  • Tạo tên bảng "guru99" với hai tên cột
  • Các tên cột được đề cập với kiểu dữ liệu của nó là một số nguyên và một tên khác thuộc loại chuỗi

Trong bước tiếp theo, chúng ta sẽ kiểm tra xem nó có được lưu trữ trong MySql hay không

Bước 8) Vào chế độ MySql shell

Từ ảnh chụp màn hình trên, chúng ta có thể quan sát những điều sau

  • Đầu tiên, chúng tôi phải sử dụng cơ sở dữ liệu là "sử dụng di căn"
  • Khi nó chọn cửa hàng meta, chúng tôi có thể kiểm tra các bảng có trong này bằng cách sử dụng lệnh "hiển thị" bảng như được hiển thị trong ảnh chụp màn hình
  • Bất kể bảng nào được tạo trong Hive, siêu dữ liệu tương ứng với bảng đó được lưu trữ dưới TBLS trong cơ sở dữ liệu MySQL.
  • "Bảng Guur99" được tạo trong Hive, vì vậy siêu dữ liệu tương ứng được lưu trữ trong MySQL dưới TBLS.

Bước 9) Kiểm tra xem bảng đã tạo có trình bày MySQL hay không

Bằng cách nhập select * từ TBLS, nó sẽ hiển thị các bảng mà chúng tôi đã tạo ở chế độ Hive shell

Từ ảnh chụp màn hình trên, chúng ta có thể quan sát những điều sau:

  • Tên bảng "guru99" được tạo là Hive có thể được hiển thị trong chế độ shell MySQL
  • Bên cạnh đó, nó cũng sẽ cung cấp thông tin như thời gian tạo bảng, thời gian đã truy cập và các thuộc tính khác như được hiển thị trong ảnh chụp màn hình ở trên.