Presto教程

Presto MySQL 连接器

MySQL 连接器用于查询外部 MySQL 数据库。

先决条件

MySQL 服务器安装。

配置设置

希望你已经在你的机器上安装了 mysql 服务器。要在 Presto 服务器上启用 mysql 属性,您必须在 "etc/catalog" 目录中创建一个文件 "mysql.properties"。发出以下命令以创建 mysql.properties 文件。
$ cd etc 
$ cd catalog 
$ vi mysql.properties   
connector.name = mysql 
connection-url = jdbc:mysql://localhost:3306 
connection-user = root 
connection-password = pwd 
保存文件并退出终端。在上面的文件中,你必须在 connection-password 字段中输入你的 mysql 密码。

在 MySQL 服务器中创建数据库

打开 MySQL 服务器并使用以下命令创建数据库。
create database tutorials
现在您已经在服务器中创建了"tutorials"数据库。要启用数据库类型,请在查询窗口中使用"use tutorials"命令。

创建表

让我们在"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

键入以下命令以在 Presto CLI 上连接 MySql 插件。
./presto--server localhost:8080--catalog mysql--schema tutorials 
您将收到以下回复。
presto:tutorials> 
这里 "tutorials"指的是mysql服务器中的schema。

列出架构

要列出 mysql 中的所有模式,请键入 tPresto 服务器中的以下查询。

查询

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
从这个结果中,您可以在 Presto 中检索 mysql 服务器记录。

使用命令创建表

Mysql 连接器不支持创建表查询,但您可以使用 as 命令创建表。

查询

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

结果

CREATE TABLE: 3 rows
你不能直接插入行,因为这个连接器有一些限制。它不能支持以下查询-
创建 插入 更新 删除 放下
要查看新创建的表中的记录,请键入以下查询。

查询

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

结果

auth_id  |   auth_name    | topic 
---------+----------------+--------
       1 | Doug Cutting   | Hadoop 
       2 | James Gosling  | java 
       3 | Dennis Ritchie | C
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4