ApachePresto-構成設定

この章では、Prestoの構成設定について説明します。

Presto Verifier

Presto Verifierを使用して、別のデータベース(MySQLなど)に対してPrestoをテストしたり、2つのPrestoクラスターを相互にテストしたりできます。

MySQLでデータベースを作成する

MySQLサーバーを開き、次のコマンドを使用してデータベースを作成します。

create database 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) 
);

構成設定の追加

プロパティファイルを作成して、ベリファイアを構成します-

$ 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データベース名、ユーザー名、およびパスワード。

JARファイルのダウンロード

次のリンクにアクセスして、Presto-verifierjarファイルをダウンロードします。

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))

テーブルを挿入

テーブルを作成した後、次のクエリを使用して2つのレコードを挿入します。

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コネクタにアクセスできます。

ここでは、2つの同じselectクエリが相互にテストされ、パフォーマンスが確認されます。同様に、他のクエリを実行してパフォーマンス結果をテストできます。2つのPrestoクラスターを接続して、パフォーマンス結果を確認することもできます。