Apache Presto - Konektor MySQL

Konektor MySQL digunakan untuk membuat kueri database MySQL eksternal.

Prasyarat

Instalasi server MySQL.

Pengaturan konfigurasi

Semoga Anda telah menginstal server mysql di komputer Anda. Untuk mengaktifkan properti mysql di server Presto, Anda harus membuat file“mysql.properties” di “etc/catalog”direktori. Keluarkan perintah berikut untuk membuat file mysql.properties.

$ cd etc 
$ cd catalog 
$ vi mysql.properties   

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

Simpan file dan keluar dari terminal. Pada file di atas, Anda harus memasukkan kata sandi mysql Anda di bidang kata sandi koneksi.

Buat Database di Server MySQL

Buka server MySQL dan buat database menggunakan perintah berikut.

create database tutorials

Sekarang Anda telah membuat database "tutorial" di server. Untuk mengaktifkan tipe database, gunakan perintah "gunakan tutorial" di jendela kueri.

Buat tabel

Mari kita buat tabel sederhana di database "tutorial".

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

Sisipkan Tabel

Setelah membuat tabel, masukkan tiga rekaman menggunakan kueri berikut ini.

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

Pilih Rekaman

Untuk mengambil semua rekaman, ketikkan kueri berikut.

Pertanyaan

select * from author

Hasil

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

Sampai sekarang, Anda telah menanyakan data menggunakan server MySQL. Mari hubungkan plugin penyimpanan Mysql ke server Presto.

Hubungkan Presto CLI

Ketik perintah berikut untuk menghubungkan plugin MySql di Presto CLI.

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

Anda akan menerima tanggapan berikut.

presto:tutorials>

Sini “tutorials” mengacu pada skema di server mysql.

Daftar Skema

Untuk mencantumkan semua skema di mysql, ketik kueri berikut di server Presto.

Pertanyaan

presto:tutorials> show schemas from mysql;

Hasil

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

Dari hasil ini, kita dapat menyimpulkan tiga skema pertama sebagai yang telah ditentukan dan yang terakhir sebagai dibuat sendiri.

Daftar Tabel dari Skema

Kueri berikut mencantumkan semua tabel dalam skema tutorial.

Pertanyaan

presto:tutorials> show tables from mysql.tutorials;

Hasil

Table 
-------- 
 author

Kami hanya membuat satu tabel dalam skema ini. Jika Anda telah membuat banyak tabel, itu akan mencantumkan semua tabel.

Jelaskan Tabel

Untuk menjelaskan bidang tabel, ketikkan kueri berikut ini.

Pertanyaan

presto:tutorials> describe mysql.tutorials.author;

Hasil

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

Perlihatkan Kolom dari Tabel

Pertanyaan

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

Hasil

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

Mengakses Catatan Tabel

Untuk mengambil semua record dari tabel mysql, keluarkan query berikut.

Pertanyaan

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

Hasil

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

Dari hasil ini, Anda dapat mengambil record server mysql di Presto.

Buat Tabel Menggunakan sebagai Perintah

Konektor mysql tidak mendukung buat kueri tabel tetapi Anda bisa membuat tabel menggunakan as perintah.

Pertanyaan

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

Hasil

CREATE TABLE: 3 rows

Anda tidak dapat memasukkan baris secara langsung karena konektor ini memiliki beberapa batasan. Itu tidak dapat mendukung kueri berikut -

  • create
  • insert
  • update
  • delete
  • drop

Untuk melihat rekaman dalam tabel yang baru dibuat, ketikkan kueri berikut ini.

Pertanyaan

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

Hasil

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