Apache Presto - Conector MySQL

El conector MySQL se utiliza para consultar una base de datos MySQL externa.

Prerrequisitos

Instalación del servidor MySQL.

Ajustes de configuración

Es de esperar que haya instalado el servidor mysql en su máquina. Para habilitar las propiedades de mysql en el servidor de Presto, debe crear un archivo“mysql.properties” en “etc/catalog”directorio. Emita el siguiente comando para crear un archivo mysql.properties.

$ cd etc 
$ cd catalog 
$ vi mysql.properties   

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

Guarde el archivo y salga del terminal. En el archivo anterior, debe ingresar su contraseña de mysql en el campo de contraseña de conexión.

Crear base de datos en MySQL Server

Abra el servidor MySQL y cree una base de datos usando el siguiente comando.

create database tutorials

Ahora ha creado una base de datos de "tutoriales" en el servidor. Para habilitar el tipo de base de datos, use el comando "usar tutoriales" en la ventana de consulta.

Crear mesa

Creemos una tabla simple en la base de datos de "tutoriales".

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

Insertar tabla

Después de crear una tabla, inserte tres registros usando la siguiente consulta.

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

Seleccionar registros

Para recuperar todos los registros, escriba la siguiente consulta.

Consulta

select * from author

Resultado

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

A partir de ahora, ha consultado datos utilizando el servidor MySQL. Conectemos el complemento de almacenamiento Mysql al servidor de Presto.

Conectar Presto CLI

Escriba el siguiente comando para conectar el complemento MySql en Presto CLI.

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

Recibirá la siguiente respuesta.

presto:tutorials>

aquí “tutorials” se refiere al esquema en el servidor mysql.

Lista de esquemas

Para enumerar todos los esquemas en mysql, escriba la siguiente consulta en el servidor de Presto.

Consulta

presto:tutorials> show schemas from mysql;

Resultado

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

A partir de este resultado, podemos concluir los tres primeros esquemas como predefinidos y el último como lo creó usted mismo.

Mostrar tablas de esquema

La siguiente consulta enumera todas las tablas en el esquema de tutoriales.

Consulta

presto:tutorials> show tables from mysql.tutorials;

Resultado

Table 
-------- 
 author

Hemos creado solo una tabla en este esquema. Si ha creado varias tablas, se enumerarán todas las tablas.

Describir tabla

Para describir los campos de la tabla, escriba la siguiente consulta.

Consulta

presto:tutorials> describe mysql.tutorials.author;

Resultado

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

Mostrar columnas de la tabla

Consulta

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

Resultado

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

Registros de la tabla de acceso

Para obtener todos los registros de la tabla mysql, emita la siguiente consulta.

Consulta

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

Resultado

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

A partir de este resultado, puede recuperar registros del servidor mysql en Presto.

Crear tabla usando como comando

El conector Mysql no admite la consulta de creación de tabla, pero puede crear una tabla usando un comando.

Consulta

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

Resultado

CREATE TABLE: 3 rows

No puede insertar filas directamente porque este conector tiene algunas limitaciones. No puede admitir las siguientes consultas:

  • create
  • insert
  • update
  • delete
  • drop

Para ver los registros en la tabla recién creada, escriba la siguiente consulta.

Consulta

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

Resultado

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