Учебники

Apache Presto — MySQL Connector

Соединитель MySQL используется для запроса внешней базы данных MySQL.

Предпосылки

Установка сервера MySQL.

Настройки конфигурации

Надеюсь, вы установили MySQL сервер на вашем компьютере. Чтобы включить свойства mysql на сервере Presto, необходимо создать файл «mysql.properties» в каталоге «etc / catalog» . Выполните следующую команду, чтобы создать файл mysql.properties.

$ cd etc 
$ cd catalog 
$ vi mysql.properties   

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

Сохраните файл и выйдите из терминала. В приведенном выше файле вы должны ввести свой пароль mysql в поле connection-password.

Создать базу данных в MySQL Server

Откройте сервер MySQL и создайте базу данных, используя следующую команду.

create database tutorials

Теперь вы создали базу данных «учебных пособий» на сервере. Чтобы включить тип базы данных, используйте команду «use tutorials» в окне запроса.

Создать таблицу

Давайте создадим простую таблицу в базе данных «учебники».

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

Вставить таблицу

После создания таблицы вставьте три записи, используя следующий запрос.

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

Выберите записи

Чтобы получить все записи, введите следующий запрос.

запрос

select * from author

Результат

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

На данный момент вы запросили данные, используя сервер MySQL. Давайте подключим плагин хранения Mysql к серверу Presto.

Подключите Presto CLI

Введите следующую команду, чтобы подключить плагин MySql в Presto CLI.

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

Вы получите следующий ответ.

presto:tutorials> 

Здесь «учебники» относится к схеме на сервере MySQL.

Список схем

Чтобы вывести список всех схем в MySQL, введите следующий запрос на сервере Presto.

запрос

presto:tutorials> show schemas from mysql;

Результат

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

Из этого результата мы можем заключить, что первые три схемы предопределены, а последняя — как вы сами создали.

Список таблиц из схемы

Следующий запрос перечисляет все таблицы в схеме учебников.

запрос

presto:tutorials> show tables from mysql.tutorials; 

Результат

  Table 
-------- 
 author

Мы создали только одну таблицу в этой схеме. Если вы создали несколько таблиц, будут перечислены все таблицы.

Опишите таблицу

Чтобы описать поля таблицы, введите следующий запрос.

запрос

presto:tutorials> describe mysql.tutorials.author;

Результат

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

Показать столбцы из таблицы

запрос

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

Результат

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

Доступ к записям таблицы

Чтобы получить все записи из таблицы MySQL, выполните следующий запрос.

запрос

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

Результат

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

Из этого результата вы можете извлечь записи сервера MySQL в Presto.

Создать таблицу, используя в качестве команды

Mysql-коннектор не поддерживает запрос создания таблицы, но вы можете создать таблицу, используя команду as.

запрос

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

Результат

CREATE TABLE: 3 rows

Вы не можете вставлять строки напрямую, потому что этот соединитель имеет некоторые ограничения. Он не может поддерживать следующие запросы —

  • Создайте
  • вставить
  • Обновить
  • удалять
  • падение

Чтобы просмотреть записи во вновь созданной таблице, введите следующий запрос.