본문으로 바로가기
본문으로 바로가기

QuickSight

ClickHouse Supported

QuickSight는 공식 MySQL 데이터 소스와 Direct Query 모드를 사용하여 MySQL 인터페이스를 통해 온프레미스 환경의 ClickHouse(23.11 이상)에 연결할 수 있습니다.

온프레미스 ClickHouse 서버 설정

MySQL 인터페이스가 활성화된 ClickHouse 서버를 설정하는 방법은 공식 문서를 참조하십시오.

서버의 config.xml에 항목을 추가하는 것 외에도

<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>

MySQL 인터페이스를 사용할 사용자에게는 Double SHA1 비밀번호 암호화를 반드시 사용해야 합니다.

셸에서 Double SHA1로 암호화된 무작위 비밀번호 생성:

PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'

출력은 다음과 같아야 합니다:

LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4

첫 번째 줄은 생성된 비밀번호이고, 두 번째 줄은 ClickHouse 설정에 사용할 수 있는 해시 값입니다.

다음은 생성된 해시를 사용하는 mysql_user에 대한 예제 구성입니다:

/etc/clickhouse-server/users.d/mysql_user.xml

<users>
    <mysql_user>
        <password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </mysql_user>
</users>

password_double_sha1_hex 항목을 직접 생성한 Double SHA1 해시 값으로 교체하십시오.

QuickSight에서는 MySQL 사용자 프로필에 몇 가지 추가 설정이 필요합니다.

/etc/clickhouse-server/users.d/mysql_user.xml

<profiles>
    <default>
        <prefer_column_name_to_alias>1</prefer_column_name_to_alias>
        <mysql_map_string_to_text_in_show_columns>1</mysql_map_string_to_text_in_show_columns>
        <mysql_map_fixed_string_to_text_in_show_columns>1</mysql_map_fixed_string_to_text_in_show_columns>
    </default>
</profiles>

그러나 기본 프로필 대신 MySQL 사용자가 사용할 수 있는 다른 프로필을 할당하는 것이 좋습니다.

마지막으로 ClickHouse Server가 원하는 IP 주소(들)에서 수신하도록 구성합니다. config.xml에서 모든 주소에서 수신하도록 다음 항목의 주석을 해제하십시오:

<listen_host>::</listen_host>

mysql 바이너리가 사용 가능한 경우, 명령줄에서 연결을 테스트할 수 있습니다. 위의 예시 사용자 이름(mysql_user)과 비밀번호(LZOQYnqQN4L/T6L0)를 사용할 때 명령줄에서 실행할 명령은 다음과 같습니다.

mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
mysql> show databases;
+--------------------+
| name               |
+--------------------+
| INFORMATION_SCHEMA |
| default            |
| information_schema |
| system             |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.

QuickSight를 ClickHouse에 연결하기

먼저 https://quicksight.aws.amazon.com에 접속한 후 Datasets로 이동하여 "New dataset"을 클릭합니다:

Datasets ��섹션에서 New dataset 버튼이 표시된 Amazon QuickSight 대시보드

QuickSight에 포함된 공식 MySQL 커넥터(이름은 단순히 MySQL)를 검색합니다:

검색 결과에서 MySQL이 강조 표시된 QuickSight 데이터 소스 선택 화면

연결 정보를 입력합니다. 기본적으로 MySQL 인터페이스 포트는 9004이며, 서버 구성에 따라 다를 수 있습니다.

호스트 이름, 포트, 데이터베이스 및 자격 증명 필드가 있는 QuickSight MySQL 연결 구성 양식

이제 ClickHouse에서 데이터를 가져오는 방법으로 두 가지 옵션이 있습니다. 첫 번째로, 목록에서 테이블을 선택할 수 있습니다:

ClickHouse에서 사용 가능한 데이터베이스 테이블이 표시된 QuickSight 테이블 선택 인터페이스

또는 데이터를 가져오기 위해 사용자 정의 SQL을 지정할 수도 있습니다:

ClickHouse에서 데이터를 가져오기 위한 QuickSight 사용자 정의 SQL 쿼리 편집기

"Edit/Preview data"를 클릭하면, 자동으로 분석된 테이블 구조를 확인하거나, 데이터를 해당 방식으로 조회하도록 선택한 경우 사용자 정의 SQL을 조정할 수 있습니다:

컬럼과 샘플 데이터가 포함된 테이블 구조 미리 보기가 표시된 QuickSight 데이터 프리뷰

UI 왼쪽 하단 모서리에서 "Direct Query" 모드가 선택되어 있는지 확인합니다:

왼쪽 하단 모서리에 Direct Query 모드 옵션이 강조 표시된 QuickSight 인터페이스

이제 데이터셋을 게시하고 새 시각화를 생성합니다.

알려진 제한 사항

  • SPICE 가져오기 기능이 예상대로 동작하지 않습니다. 대신 Direct Query 모드를 사용하십시오. 자세한 내용은 #58553을 참조하십시오.