Apache Presto - Trình kết nối MySQL
Trình kết nối MySQL được sử dụng để truy vấn cơ sở dữ liệu MySQL bên ngoài.
Điều kiện tiên quyết
Cài đặt máy chủ MySQL.
Thiết lập cấu hình
Hy vọng rằng bạn đã cài đặt máy chủ mysql trên máy của mình. Để bật thuộc tính mysql trên máy chủ Presto, bạn phải tạo một tệp“mysql.properties” trong “etc/catalog”danh mục. Đưa ra lệnh sau để tạo tệp mysql.properties.
$ cd etc
$ cd catalog
$ vi mysql.properties
connector.name = mysql
connection-url = jdbc:mysql://localhost:3306
connection-user = root
connection-password = pwd
Lưu tệp và thoát khỏi thiết bị đầu cuối. Trong tệp trên, bạn phải nhập mật khẩu mysql của mình vào trường mật khẩu kết nối.
Tạo cơ sở dữ liệu trong MySQL Server
Mở máy chủ MySQL và tạo cơ sở dữ liệu bằng lệnh sau.
create database tutorials
Bây giờ bạn đã tạo cơ sở dữ liệu "hướng dẫn" trong máy chủ. Để bật kiểu cơ sở dữ liệu, hãy sử dụng lệnh "sử dụng hướng dẫn" trong cửa sổ truy vấn.
Tạo bảng
Hãy tạo một bảng đơn giản trên cơ sở dữ liệu "hướng dẫn".
create table author(auth_id int not null, auth_name varchar(50),topic varchar(100))
Chèn bảng
Sau khi tạo bảng, hãy chèn ba bản ghi bằng truy vấn sau.
insert into author values(1,'Doug Cutting','Hadoop')
insert into author values(2,’James Gosling','java')
insert into author values(3,'Dennis Ritchie’,'C')
Chọn bản ghi
Để truy xuất tất cả các bản ghi, hãy nhập truy vấn sau.
Truy vấn
select * from author
Kết quả
auth_id auth_name topic
1 Doug Cutting Hadoop
2 James Gosling java
3 Dennis Ritchie C
Hiện tại, bạn có dữ liệu được truy vấn bằng máy chủ MySQL. Hãy kết nối plugin lưu trữ Mysql với máy chủ Presto.
Kết nối Presto CLI
Gõ lệnh sau để kết nối plugin MySql trên Presto CLI.
./presto --server localhost:8080 --catalog mysql --schema tutorials
Bạn sẽ nhận được phản hồi sau.
presto:tutorials>
Đây “tutorials” đề cập đến lược đồ trong máy chủ mysql.
Liệt kê các lược đồ
Để liệt kê tất cả các lược đồ trong mysql, hãy nhập truy vấn sau vào máy chủ Presto.
Truy vấn
presto:tutorials> show schemas from mysql;
Kết quả
Schema
--------------------
information_schema
performance_schema
sys
tutorials
Từ kết quả này, chúng ta có thể kết luận ba lược đồ đầu tiên là được xác định trước và lược đồ cuối cùng do chính bạn tạo ra.
Liệt kê các bảng từ Lược đồ
Truy vấn sau liệt kê tất cả các bảng trong lược đồ hướng dẫn.
Truy vấn
presto:tutorials> show tables from mysql.tutorials;
Kết quả
Table
--------
author
Chúng tôi chỉ tạo một bảng trong lược đồ này. Nếu bạn đã tạo nhiều bảng, nó sẽ liệt kê tất cả các bảng.
Mô tả bảng
Để mô tả các trường bảng, hãy nhập truy vấn sau.
Truy vấn
presto:tutorials> describe mysql.tutorials.author;
Kết quả
Column | Type | Comment
-----------+--------------+---------
auth_id | integer |
auth_name | varchar(50) |
topic | varchar(100) |
Hiển thị các cột từ bảng
Truy vấn
presto:tutorials> show columns from mysql.tutorials.author;
Kết quả
Column | Type | Comment
-----------+--------------+---------
auth_id | integer |
auth_name | varchar(50) |
topic | varchar(100) |
Truy cập Bản ghi Bảng
Để tìm nạp tất cả các bản ghi từ bảng mysql, hãy đưa ra truy vấn sau.
Truy vấn
presto:tutorials> select * from mysql.tutorials.author;
Kết quả
auth_id | auth_name | topic
---------+----------------+--------
1 | Doug Cutting | Hadoop
2 | James Gosling | java
3 | Dennis Ritchie | C
Từ kết quả này, bạn có thể truy xuất bản ghi máy chủ mysql trong Presto.
Tạo bảng bằng cách sử dụng lệnh
Trình kết nối Mysql không hỗ trợ tạo truy vấn bảng nhưng bạn có thể tạo bảng bằng lệnh.
Truy vấn
presto:tutorials> create table mysql.tutorials.sample as
select * from mysql.tutorials.author;
Kết quả
CREATE TABLE: 3 rows
Bạn không thể chèn hàng trực tiếp vì trình kết nối này có một số hạn chế. Nó không thể hỗ trợ các truy vấn sau:
- create
- insert
- update
- delete
- drop
Để xem các bản ghi trong bảng mới được tạo, hãy nhập truy vấn sau.
Truy vấn
presto:tutorials> select * from mysql.tutorials.sample;
Kết quả
auth_id | auth_name | topic
---------+----------------+--------
1 | Doug Cutting | Hadoop
2 | James Gosling | java
3 | Dennis Ritchie | C