Apache Presto - ตัวเชื่อมต่อ MySQL

ตัวเชื่อมต่อ MySQL ใช้เพื่อสอบถามฐานข้อมูล MySQL ภายนอก

ข้อกำหนดเบื้องต้น

การติดตั้งเซิร์ฟเวอร์ MySQL

การตั้งค่าการกำหนดค่า

หวังว่าคุณได้ติดตั้งเซิร์ฟเวอร์ mysql บนเครื่องของคุณแล้ว ในการเปิดใช้งานคุณสมบัติ mysql บนเซิร์ฟเวอร์ Presto คุณต้องสร้างไฟล์“mysql.properties” ใน “etc/catalog”ไดเรกทอรี ใช้คำสั่งต่อไปนี้เพื่อสร้างไฟล์ mysql.properties

$ cd etc 
$ cd catalog 
$ vi mysql.properties   

connector.name = mysql 
connection-url = jdbc:mysql://localhost:3306 
connection-user = root 
connection-password = pwd

บันทึกไฟล์และออกจากเทอร์มินัล ในไฟล์ด้านบนคุณต้องป้อนรหัสผ่าน mysql ของคุณในฟิลด์รหัสผ่านการเชื่อมต่อ

สร้างฐานข้อมูลในเซิร์ฟเวอร์ MySQL

เปิดเซิร์ฟเวอร์ MySQL และสร้างฐานข้อมูลโดยใช้คำสั่งต่อไปนี้

create database tutorials

ตอนนี้คุณได้สร้างฐานข้อมูล“ บทช่วยสอน” ในเซิร์ฟเวอร์แล้ว ในการเปิดใช้งานประเภทฐานข้อมูลให้ใช้คำสั่ง“ ใช้บทช่วยสอน” ในหน้าต่างแบบสอบถาม

สร้างตาราง

มาสร้างตารางง่ายๆบนฐานข้อมูล“ บทช่วยสอน”

create table author(auth_id int not null, auth_name varchar(50),topic varchar(100))

แทรกตาราง

หลังจากสร้างตารางแล้วให้แทรกสามระเบียนโดยใช้แบบสอบถามต่อไปนี้

insert into author values(1,'Doug Cutting','Hadoop') 
insert into author values(2,’James Gosling','java') 
insert into author values(3,'Dennis Ritchie’,'C')

เลือกบันทึก

ในการดึงข้อมูลทั้งหมดให้พิมพ์แบบสอบถามต่อไปนี้

แบบสอบถาม

select * from author

ผลลัพธ์

auth_id    auth_name      topic  
1        Doug Cutting     Hadoop 
2        James Gosling    java 
3        Dennis Ritchie     C

ณ ตอนนี้คุณได้สอบถามข้อมูลโดยใช้เซิร์ฟเวอร์ MySQL มาเชื่อมต่อปลั๊กอินที่เก็บข้อมูล Mysql กับเซิร์ฟเวอร์ Presto

เชื่อมต่อ Presto CLI

พิมพ์คำสั่งต่อไปนี้เพื่อเชื่อมต่อปลั๊กอิน MySql บน Presto CLI

./presto --server localhost:8080 --catalog mysql --schema tutorials

คุณจะได้รับคำตอบดังต่อไปนี้

presto:tutorials>

ที่นี่ “tutorials” อ้างถึงสคีมาในเซิร์ฟเวอร์ mysql

รายการ Schemas

หากต้องการแสดงรายการสกีมาทั้งหมดใน mysql ให้พิมพ์แบบสอบถามต่อไปนี้ในเซิร์ฟเวอร์ Presto

แบบสอบถาม

presto:tutorials> show schemas from mysql;

ผลลัพธ์

Schema 
-------------------- 
 information_schema 
 performance_schema 
 sys 
 tutorials

จากผลลัพธ์นี้เราสามารถสรุปสามสคีมาแรกตามที่กำหนดไว้ล่วงหน้าและสคีมาสุดท้ายที่สร้างขึ้นเอง

แสดงรายการตารางจากสคีมา

คำค้นหาต่อไปนี้แสดงรายการตารางทั้งหมดในสคีมาของบทช่วยสอน

แบบสอบถาม

presto:tutorials> show tables from mysql.tutorials;

ผลลัพธ์

Table 
-------- 
 author

เราได้สร้างเพียงตารางเดียวในสคีมานี้ หากคุณสร้างหลายตารางก็จะแสดงรายการตารางทั้งหมด

อธิบายตาราง

หากต้องการอธิบายฟิลด์ตารางให้พิมพ์แบบสอบถามต่อไปนี้

แบบสอบถาม

presto:tutorials> describe mysql.tutorials.author;

ผลลัพธ์

Column   |     Type     | Comment 
-----------+--------------+--------- 
 auth_id   | integer      | 
 auth_name | varchar(50)  | 
 topic     | varchar(100) |

แสดงคอลัมน์จากตาราง

แบบสอบถาม

presto:tutorials> show columns from mysql.tutorials.author;

ผลลัพธ์

Column    |     Type     | Comment 
-----------+--------------+--------- 
 auth_id   | integer      | 
 auth_name | varchar(50)  | 
 topic     | varchar(100) |

เข้าถึงบันทึกตาราง

ในการดึงข้อมูลทั้งหมดจากตาราง mysql ให้ใช้แบบสอบถามต่อไปนี้

แบบสอบถาม

presto:tutorials> select * from mysql.tutorials.author;

ผลลัพธ์

auth_id  |   auth_name    | topic 
---------+----------------+-------- 
       1 | Doug Cutting   | Hadoop 
       2 | James Gosling  | java 
       3 | Dennis Ritchie | C

จากผลลัพธ์นี้คุณสามารถดึงข้อมูลเซิร์ฟเวอร์ mysql ใน Presto

สร้างตารางโดยใช้เป็นคำสั่ง

ตัวเชื่อมต่อ Mysql ไม่รองรับการสร้างคิวรีตาราง แต่คุณสามารถสร้างตารางโดยใช้เป็นคำสั่งได้

แบบสอบถาม

presto:tutorials> create table mysql.tutorials.sample as 
select * from mysql.tutorials.author;

ผลลัพธ์

CREATE TABLE: 3 rows

คุณไม่สามารถแทรกแถวได้โดยตรงเนื่องจากตัวเชื่อมต่อนี้มีข้อ จำกัด บางประการ ไม่สามารถรองรับคำค้นหาต่อไปนี้ -

  • create
  • insert
  • update
  • delete
  • drop

หากต้องการดูระเบียนในตารางที่สร้างขึ้นใหม่ให้พิมพ์แบบสอบถามต่อไปนี้

แบบสอบถาม

presto:tutorials> select * from mysql.tutorials.sample;

ผลลัพธ์

auth_id  |   auth_name    | topic 
---------+----------------+-------- 
       1 | Doug Cutting   | Hadoop 
       2 | James Gosling  | java 
       3 | Dennis Ritchie | C