Apache Presto - Connecteur MySQL

Le connecteur MySQL est utilisé pour interroger une base de données MySQL externe.

Conditions préalables

Installation du serveur MySQL.

Paramètres de configuration

J'espère que vous avez installé le serveur mysql sur votre machine. Pour activer les propriétés mysql sur le serveur Presto, vous devez créer un fichier“mysql.properties” dans “etc/catalog”annuaire. Exécutez la commande suivante pour créer un fichier mysql.properties.

$ cd etc 
$ cd catalog 
$ vi mysql.properties   

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

Enregistrez le fichier et quittez le terminal. Dans le fichier ci-dessus, vous devez entrer votre mot de passe mysql dans le champ login-password.

Créer une base de données dans MySQL Server

Ouvrez le serveur MySQL et créez une base de données à l'aide de la commande suivante.

create database tutorials

Vous avez maintenant créé la base de données «didacticiels» sur le serveur. Pour activer le type de base de données, utilisez la commande «utiliser des didacticiels» dans la fenêtre de requête.

Créer une table

Créons un tableau simple sur la base de données «tutoriels».

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

Insérer un tableau

Après avoir créé une table, insérez trois enregistrements à l'aide de la requête suivante.

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

Sélectionner des enregistrements

Pour récupérer tous les enregistrements, tapez la requête suivante.

Requete

select * from author

Résultat

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

À partir de maintenant, vous avez interrogé des données à l'aide du serveur MySQL. Connectons le plugin de stockage Mysql au serveur Presto.

Connectez Presto CLI

Tapez la commande suivante pour connecter le plugin MySql sur Presto CLI.

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

Vous recevrez la réponse suivante.

presto:tutorials>

Ici “tutorials” fait référence au schéma du serveur mysql.

Lister les schémas

Pour lister tous les schémas de mysql, tapez la requête suivante sur le serveur Presto.

Requete

presto:tutorials> show schemas from mysql;

Résultat

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

De ce résultat, nous pouvons conclure les trois premiers schémas comme prédéfinis et le dernier comme créé par vous-même.

Lister les tables à partir du schéma

La requête suivante répertorie toutes les tables du schéma des didacticiels.

Requete

presto:tutorials> show tables from mysql.tutorials;

Résultat

Table 
-------- 
 author

Nous n'avons créé qu'une seule table dans ce schéma. Si vous avez créé plusieurs tables, toutes les tables seront répertoriées.

Décrire le tableau

Pour décrire les champs de la table, saisissez la requête suivante.

Requete

presto:tutorials> describe mysql.tutorials.author;

Résultat

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

Afficher les colonnes de la table

Requete

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

Résultat

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

Accéder aux enregistrements de table

Pour récupérer tous les enregistrements de la table mysql, lancez la requête suivante.

Requete

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

Résultat

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

À partir de ce résultat, vous pouvez récupérer les enregistrements du serveur mysql dans Presto.

Créer une table en utilisant comme commande

Le connecteur Mysql ne prend pas en charge la requête de création de table, mais vous pouvez créer une table à l'aide de la commande as.

Requete

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

Résultat

CREATE TABLE: 3 rows

Vous ne pouvez pas insérer de lignes directement car ce connecteur présente certaines limitations. Il ne peut pas prendre en charge les requêtes suivantes -

  • create
  • insert
  • update
  • delete
  • drop

Pour afficher les enregistrements de la table nouvellement créée, tapez la requête suivante.

Requete

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

Résultat

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