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/T6L0mysql> 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"을 클릭합니다.

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

연결 정보를 입력합니다. MySQL 인터페이스 포트의 기본값은 9004이며, 서버 구성에 따라 달라질 수 있습니다.

이제 ClickHouse에서 데이터를 가져오는 방법은 두 가지입니다. 첫 번째는 목록에서 테이블을 선택하는 방법입니다.

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

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

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

이제 데이터셋을 게시하고 새 visualization을 만들 수 있습니다!
알려진 제한 사항
- SPICE 가져오기가 예상대로 작동하지 않으므로 대신 Direct Query 모드를 사용하십시오. 자세한 내용은 #58553을 참조하십시오.