Apache Presto - Connettore MySQL
Il connettore MySQL viene utilizzato per interrogare un database MySQL esterno.
Prerequisiti
Installazione del server MySQL.
Impostazioni di configurazione
Si spera che tu abbia installato il server mysql sulla tua macchina. Per abilitare le proprietà mysql sul server Presto, è necessario creare un file“mysql.properties” nel “etc/catalog”directory. Immettere il seguente comando per creare un 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
Salva il file e chiudi il terminale. Nel file sopra, devi inserire la tua password mysql nel campo password di connessione.
Crea database in MySQL Server
Apri il server MySQL e crea un database utilizzando il seguente comando.
create database tutorials
Ora hai creato il database dei "tutorial" nel server. Per abilitare il tipo di database, utilizzare il comando "usa tutorial" nella finestra della query.
Crea tabella
Creiamo una semplice tabella sul database dei "tutorial".
create table author(auth_id int not null, auth_name varchar(50),topic varchar(100))
Inserisci tabella
Dopo aver creato una tabella, inserisci tre record utilizzando la seguente query.
insert into author values(1,'Doug Cutting','Hadoop')
insert into author values(2,’James Gosling','java')
insert into author values(3,'Dennis Ritchie’,'C')
Seleziona Record
Per recuperare tutti i record, digita la seguente query.
Query
select * from author
Risultato
auth_id auth_name topic
1 Doug Cutting Hadoop
2 James Gosling java
3 Dennis Ritchie C
A partire da ora, hai interrogato i dati utilizzando il server MySQL. Colleghiamo il plug-in di archiviazione Mysql al server Presto.
Connetti Presto CLI
Digita il seguente comando per connettere il plugin MySql su Presto CLI.
./presto --server localhost:8080 --catalog mysql --schema tutorials
Riceverai la seguente risposta.
presto:tutorials>
Qui “tutorials” si riferisce allo schema nel server mysql.
Schemi di elenco
Per elencare tutti gli schemi in mysql, digitare la seguente query nel server Presto.
Query
presto:tutorials> show schemas from mysql;
Risultato
Schema
--------------------
information_schema
performance_schema
sys
tutorials
Da questo risultato, possiamo concludere i primi tre schemi come predefiniti e l'ultimo come creato da te.
Elenca tabelle dallo schema
La seguente query elenca tutte le tabelle nello schema dei tutorial.
Query
presto:tutorials> show tables from mysql.tutorials;
Risultato
Table
--------
author
Abbiamo creato solo una tabella in questo schema. Se hai creato più tabelle, verranno elencate tutte le tabelle.
Descrivi la tabella
Per descrivere i campi della tabella, digita la seguente query.
Query
presto:tutorials> describe mysql.tutorials.author;
Risultato
Column | Type | Comment
-----------+--------------+---------
auth_id | integer |
auth_name | varchar(50) |
topic | varchar(100) |
Mostra colonne dalla tabella
Query
presto:tutorials> show columns from mysql.tutorials.author;
Risultato
Column | Type | Comment
-----------+--------------+---------
auth_id | integer |
auth_name | varchar(50) |
topic | varchar(100) |
Accedi ai record della tabella
Per recuperare tutti i record dalla tabella mysql, emettere la seguente query.
Query
presto:tutorials> select * from mysql.tutorials.author;
Risultato
auth_id | auth_name | topic
---------+----------------+--------
1 | Doug Cutting | Hadoop
2 | James Gosling | java
3 | Dennis Ritchie | C
Da questo risultato, puoi recuperare i record del server mysql in Presto.
Crea tabella usando come comando
Il connettore Mysql non supporta la creazione di query di tabella ma puoi creare una tabella utilizzando come comando.
Query
presto:tutorials> create table mysql.tutorials.sample as
select * from mysql.tutorials.author;
Risultato
CREATE TABLE: 3 rows
Non puoi inserire righe direttamente perché questo connettore ha alcune limitazioni. Non può supportare le seguenti query:
- create
- insert
- update
- delete
- drop
Per visualizzare i record nella tabella appena creata, digita la seguente query.
Query
presto:tutorials> select * from mysql.tutorials.sample;
Risultato
auth_id | auth_name | topic
---------+----------------+--------
1 | Doug Cutting | Hadoop
2 | James Gosling | java
3 | Dennis Ritchie | C