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クラスターを接続して、パフォーマンス結果を確認することもできます。