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