Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

QuickSight

ClickHouse 지원

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 서버가 원하는 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 테이블 선택 인터페이스

또는 데이터를 가져오기 위해 custom SQL을 지정할 수도 있습니다.

ClickHouse에서 데이터를 가져오기 위한 QuickSight custom SQL 쿼리 편집기

"Edit/Preview data"를 클릭하면 감지된 테이블 구조를 확인할 수 있으며, 이 방식으로 데이터에 액세스하기로 했다면 custom SQL을 조정할 수도 있습니다.

컬럼과 샘플 데이터를 포함한 테이블 구조를 보여주는 QuickSight 데이터 미리 보기

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

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

이제 데이터셋을 게시하고 새 visualization을 만들 수 있습니다!

알려진 제한 사항

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