Apache Presto-구성 설정
이 장에서는 Presto의 구성 설정에 대해 설명합니다.
Presto Verifier
Presto Verifier는 다른 데이터베이스 (예 : MySQL)에 대해 Presto를 테스트하거나 두 개의 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-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 실행
다음 명령을 사용하여 검증기를 실행하십시오.
$ ./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 클러스터를 연결하여 성능 결과를 확인할 수도 있습니다.