Tableau를 ClickHouse에 연결하기
ClickHouse는 Tableau Exchange에 등록된 공식 Tableau 커넥터를 제공합니다. 이 커넥터는 ClickHouse의 고급 JDBC driver를 기반으로 동작합니다.
이 커넥터를 사용하면 Tableau에서 ClickHouse 데이터베이스와 테이블을 데이터 원본으로 사용할 수 있습니다. 이 기능을 사용하려면 아래 설정 가이드를 따르십시오.
사용 전 필수 설정
-
연결에 필요한 세부 정보를 확인합니다.
HTTP(S)로 ClickHouse에 연결하려면 다음 정보가 필요합니다:
Parameter(s) Description HOSTandPORT일반적으로 TLS를 사용할 때는 포트가 8443이고, TLS를 사용하지 않을 때는 8123입니다. DATABASE NAME기본적으로 default라는 데이터베이스가 있으며, 연결하려는 데이터베이스의 이름을 사용합니다.USERNAMEandPASSWORD기본값으로 사용자 이름은 default입니다. 사용하려는 용도에 적합한 사용자 이름을 사용합니다.ClickHouse Cloud 서비스에 대한 세부 정보는 ClickHouse Cloud 콘솔에서 확인할 수 있습니다. 서비스를 선택한 다음 Connect를 클릭하십시오:

HTTPS를 선택하십시오. 연결 정보는 예제
curl명령에 표시됩니다.
자가 관리형 ClickHouse를 사용하는 경우, 연결 정보는 ClickHouse 관리자가 설정합니다.
-
Tableau Desktop를 다운로드하여 설치합니다.
-
clickhouse-tableau-connector-jdbc지침에 따라 호환되는 버전의 ClickHouse JDBC driver를 다운로드합니다.
clickhouse-jdbc-X.X.X-all-dependencies.jar JAR 파일을 반드시 다운로드해야 합니다. 이 아티팩트는 버전 0.9.2부터 제공됩니다.
- JDBC driver를 다음 폴더에 저장합니다(사용 중인 OS에 따라, 폴더가 없으면 생성합니다).
- macOS:
~/Library/Tableau/Drivers - Windows:
C:\Program Files\Tableau\Drivers
- macOS:
- Tableau에서 ClickHouse 데이터 소스를 구성한 후 데이터 시각화 작성을 시작합니다.
Tableau에서 ClickHouse 데이터 소스 구성
clickhouse-jdbc 드라이버를 설치하고 설정했으므로, 이제 ClickHouse의 TPCD 데이터베이스에 연결하는
Tableau 데이터 소스를 정의하는 방법을 살펴보겠습니다.
-
Tableau를 시작합니다. (이미 실행 중이었다면 다시 시작하십시오.)
-
왼쪽 메뉴에서 To a Server 섹션 아래의 More를 클릭합니다. 사용 가능한 커넥터 목록에서 ClickHouse by ClickHouse를 검색합니다:

연결 가능한 커넥터 목록에서 ClickHouse by ClickHouse 커넥터가 보이지 않습니까? 오래된 Tableau Desktop 버전 때문일 수 있습니다. 이 문제를 해결하려면 Tableau Desktop 애플리케이션을 업그레이드하거나, 커넥터를 수동으로 설치하는 방법을 고려하십시오.
- ClickHouse by ClickHouse를 클릭하면 다음과 같은 대화 상자가 나타납니다:

- Install and Restart Tableau를 클릭합니다. 그런 다음 애플리케이션을 다시 시작합니다.
- 다시 시작한 후 커넥터의 전체 이름은
ClickHouse JDBC by ClickHouse, Inc.가 됩니다. 이 커넥터를 클릭하면 다음과 같은 대화 상자가 나타납니다:

-
연결 정보를 입력합니다:
Setting Value Server 접두사나 접미사가 없는 ClickHouse 호스트 Port 8443 Database default Username default Password ****
ClickHouse Cloud를 사용할 때는 보안 연결을 위해 SSL 체크박스를 활성화해야 합니다.
ClickHouse 데이터베이스 이름은 TPCD이지만, 위 대화 상자에서는 Database를 default로 설정한 다음, 다음 단계에서 Schema로 TPCD를 선택해야 합니다. (이는 커넥터의 버그로 인한 동작일 가능성이 있어 추후 변경될 수 있지만, 현재 버전에서는 데이터베이스로 default를 사용해야 합니다.)
- Sign In 버튼을 클릭하면 새 Tableau 통합 문서가 표시됩니다:

- Schema 드롭다운에서 TPCD를 선택하면 TPCD에 있는 테이블 목록이 표시됩니다:

이제 Tableau에서 시각화를 생성할 준비가 되었습니다!
Tableau에서 시각화 만들기
이제 Tableau에서 ClickHouse 데이터 소스를 구성했으므로, 데이터를 시각화해 보겠습니다...
- CUSTOMER 테이블을 워크북으로 끌어옵니다. 컬럼은 보이지만, 데이터 테이블은 비어 있는 상태임을 확인할 수 있습니다:

-
Update Now 버튼을 클릭하면 CUSTOMER에서 100개의 행이 테이블에 채워집니다.
-
ORDERS 테이블을 워크북으로 끌어온 다음, 두 테이블 간의 관계 필드로 Custkey 를 설정합니다:

- 이제 ORDERS 와 LINEITEM 테이블이 서로 연관된 데이터 소스로 구성되었으므로, 이 관계를 사용해 데이터에 대한 다양한 질문에 답할 수 있습니다. 워크북 하단의 Sheet 1 탭을 선택합니다.

- 매년 특정 항목이 얼마나 주문되었는지 알고 싶다고 가정해 보겠습니다. ORDERS 에서 OrderDate 를 끌어 Columns 섹션(가로 필드)에 놓고, LINEITEM 에서 Quantity 를 끌어 Rows 에 놓습니다. 그러면 Tableau가 다음과 같은 꺾은선형 차트를 생성합니다:

아주 흥미로운 꺾은선형 차트는 아니지만, 이 데이터셋은 스크립트로 생성되었고 쿼리 성능 테스트용으로 만들어졌기 때문에 TCPD 데이터의 시뮬레이션된 주문에서 큰 변동이 없다는 점을 알 수 있습니다.
-
분기별로, 그리고 배송 방식(항공, 우편, 선박, 트럭 등)별로 평균 주문 금액(달러 기준)을 알고 싶다고 가정해 보겠습니다:
- New Worksheet 탭을 클릭해 새 시트를 생성합니다
- ORDERS 에서 OrderDate 를 Columns 에 끌어 놓고, Year 에서 Quarter 로 변경합니다
- LINEITEM 에서 Shipmode 를 Rows 로 끌어 놓습니다
다음과 같은 화면이 보입니다:

- Abc 값은 메트릭을 테이블에 끌어 놓기 전까지 공간을 채우기 위한 자리 표시자일 뿐입니다. ORDERS 에서 Totalprice 를 테이블 위로 끌어 놓습니다. 기본 계산 방식이 Totalprices 의 SUM 인 것을 확인할 수 있습니다:

- SUM 을 클릭하고 Measure 를 Average 로 변경합니다. 같은 드롭다운 메뉴에서 Format 을 선택하고 Numbers 를 Currency (Standard) 로 변경합니다:

잘하셨습니다! Tableau를 ClickHouse에 성공적으로 연결했으며, 이제 ClickHouse 데이터를 분석하고 시각화할 수 있는 폭넓은 가능성이 열렸습니다.
커넥터 수동 설치
기본적으로 커넥터가 포함되지 않은 구버전 Tableau Desktop을 사용하는 경우, 다음 단계를 따라 수동으로 설치할 수 있습니다.
- Tableau Exchange에서 최신 taco 파일을 다운로드하십시오.
- taco 파일을 다음 위치에 두십시오.
- macOS:
~/Documents/My Tableau Repository/Connectors - Windows:
C:\Users\[Windows User]\Documents\My Tableau Repository\Connectors
- macOS:
- Tableau Desktop을 다시 시작하십시오. 설정이 정상적으로 완료되었으면
New Data Source섹션에서 커넥터를 확인할 수 있습니다.
연결 및 분석 팁
Tableau-ClickHouse 통합을 최적화하는 방법에 대해 더 자세한 안내가 필요하면 연결 팁과 분석 팁 페이지를 참조하십시오.
테스트
커넥터는 TDVT 프레임워크를 사용해 테스트되고 있으며, 현재 97% 수준의 테스트 커버리지를 유지하고 있습니다.
요약
범용 ODBC/JDBC ClickHouse 드라이버를 사용하여 Tableau를 ClickHouse에 연결할 수 있습니다. 그러나 이 커넥터를 사용하면 연결 설정 절차를 보다 간편하게 진행할 수 있습니다. 커넥터 사용 중 문제가 발생하면 언제든지 GitHub에서 문의하십시오.