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