Druid 커넥터
Druid 커넥터 (Druid connector)
Druid 커넥터는 Trino에서 Apache Druid 데이터베이스를 질의할 수 있게 해 줘요.
출처: 문서
본문
요구사항 (Requirements)
Druid에 연결하려면 다음이 필요해요:
- Druid 0.22.0 이상.
- Trino 코디네이터와 워커에서 Druid 브로커로 네트워크 접근. 기본 포트는 8082예요.
설정 (Configuration)
connector.name을 druid로 설정하고 connection-url을 Druid에 연결하는 JDBC 문자열로 구성해 Druid 커넥터를 지정하는 카탈로그 속성 파일을 만드세요.
예를 들어 데이터베이스에 example로 접근하려면 etc/catalog/example.properties 파일을 만드세요. BROKER:8082를 Druid 브로커의 올바른 호스트와 포트로 바꾸세요.
connector.name=druid
connection-url=jdbc:avatica:remote:url=http://BROKER:8082/druid/v2/sql/avatica/
기본 인증을 쓰려면 다음처럼 authentication=BASIC을 추가하고 사용자·비밀번호를 지정하세요:
connection-url=jdbc:avatica:remote:url=http://BROKER:port/druid/v2/sql/avatica/;authentication=BASIC
connection-user=root
connection-password=secret
Druid로 보내는 쿼리에 코멘트를 추가해 출처를 표시할 수 있어요:
query.comment-format=Query sent by Trino.
SELECT * FROM example_table; /*Query sent by Trino.*/
$QUERY_ID와 $USER 같은 자리 표시자를 쓸 수도 있어요:
query.comment-format=Query $QUERY_ID sent by user $USER from Trino.
SELECT * FROM example_table; /*Query 20230622_180528_00000_bkizg sent by user Jane from Trino.*/
대소문자를 구분하는 이름을 대소문자 무시 매핑으로 처리하도록 설정할 수 있어요. 구성 파일에서 스키마·테이블 이름 매핑을 지정하세요:
{
"schemas": [
{
"remoteSchema": "CaseSensitiveName",
"mapping": "case_insensitive_1"
},
{
"remoteSchema": "cASEsENSITIVEnAME",
"mapping": "case_insensitive_2"
}],
"tables": [
{
"remoteSchema": "CaseSensitiveName",
"remoteTable": "tablex",
"mapping": "table_1"
},
{
"remoteSchema": "CaseSensitiveName",
"remoteTable": "TABLEX",
"mapping": "table_2"
}]
}
구성 파일을 주기적으로 다시 읽게 하려면 다음 속성을 쓰세요:
case-insensitive-name-matching.config-file.refresh-period=30s
메타데이터 캐시를 비우고 싶을 때:
USE example.example_schema;
CALL system.flush_metadata_cache();
Druid에 대해 SQL로 명령을 실행할 수 있어요:
USE example.example_schema;
CALL system.execute(query => 'ALTER TABLE your_table ALTER COLUMN your_column DROP DEFAULT');
테이블 함수로 결과를 받아올 수도 있어요:
SELECT
num_reports
FROM
TABLE(
example.system.query(
query => 'SELECT
MV_LENGTH(
STRING_TO_MV(direct_reports, ",")
) AS num_reports
FROM company.managers'
)
);
더 알아보기 (Learn more)
다른 OLAP 데이터베이스 커넥터가 궁금하다면 ClickHouse 커넥터 문서를 이어서 읽어 보세요.