Apache Presto - Configuration 配置设置

本章将讨论 Presto 的 Configuration 配置设置。

Presto 验证器

Presto Verifier 可用于针对另一个数据库(例如 MySQL)测试 Presto,或针对彼此测试两个 Presto 集群。

在 MySQL 中创建数据库

打开 MySQL 服务器并使用以下命令创建数据库。

create database test 

现在您已经在服务器中创建了"test"数据库。 创建表并使用以下查询加载它。

CREATE TABLE verifier_queries( 
   id INT NOT NULL AUTO_INCREMENT, 
   suite VARCHAR(256) NOT NULL, 
   name VARCHAR(256), 
   test_catalog VARCHAR(256) NOT NULL, 
   test_schema VARCHAR(256) NOT NULL, 
   test_prequeries TEXT, 
   test_query TEXT NOT NULL, 
   test_postqueries TEXT, 
   test_username VARCHAR(256) NOT NULL default 'verifier-test', 
   test_password VARCHAR(256), 
   control_catalog VARCHAR(256) NOT NULL, 
   control_schema VARCHAR(256) NOT NULL, 
   control_prequeries TEXT, 
   control_query TEXT NOT NULL, 
   control_postqueries TEXT, 
   control_username VARCHAR(256) NOT NULL default 'verifier-test', 
   control_password VARCHAR(256), 
   session_properties_json TEXT,            
   PRIMARY KEY (id) 
);

添加 config 配置设置

创建属性文件来配置验证器 −

$ vi config.properties  

suite = mysuite 
query-database = jdbc:mysql://localhost:3306/tutorials?user=root&password=pwd 
control.gateway = jdbc:presto://localhost:8080 
test.gateway = jdbc:presto://localhost:8080 
thread-count = 1 

query-database字段中,输入以下详细信息 − mysql database name, user name, and password.

下载 JAR 文件

访问以下链接下载 Presto-verifier jar 文件,

https://repo1.maven.org/maven2/com/facebook/presto/presto-verifier/0.149/

现在版本"presto-verifier-0.149-executable.jar"已下载到您的计算机上。

执行 JAR

使用以下命令执行 JAR 文件,

$ mv presto-verifier-0.149-executable.jar verifier  
$ chmod+x verifier 

运行验证程序

使用以下命令运行验证程序,

$ ./verifier config.properties 

创建表

让我们使用以下查询在"test"数据库中创建一个简单的表。

create table product(id int not null, name varchar(50))

插入表

创建表后,使用以下查询插入两条记录,

insert into product values(1,’Phone') 
insert into product values(2,’Television’)

运行验证器查询

在验证器终端(./verifier config.propeties)中执行以下示例查询以检查验证器结果。

示例查询

insert into verifier_queries (suite, test_catalog, test_schema, test_query, 
control_catalog, control_schema, control_query) values 
('mysuite', 'mysql', 'default', 'select * from mysql.test.product', 
'mysql', 'default', 'select * from mysql.test.product');

这里,select * from mysql.test.product 查询指的是mysql目录,test是数据库名称,product是表名称。 这样就可以使用Presto服务器访问mysql连接器了。

这里,对两个相同的选择查询进行相互测试以查看性能。 同样,您可以运行其他查询来测试性能结果。 您还可以连接两个Presto集群来检查性能结果。