ClickHouse 데이터 선택하기

ClickHouse 데이터 선택하기 (SELECT)

ClickHouse는 SQL 데이터베이스라서, 여러분이 이미 익숙한 SELECT 쿼리를 그대로 써서 데이터를 조회할 수 있어요. 기본 조회부터 출력 포맷을 지정하는 FORMAT 절, 그리고 clickhouse-local까지 살펴볼게요.

출처: Selecting ClickHouse Data

본문

ClickHouse는 SQL 데이터베이스예요. 그래서 데이터를 조회할 때 이미 알고 있는 SELECT 쿼리 형태를 그대로 사용하면 돼요. 예를 들어:

SELECT *
FROM helloworld.my_first_table
ORDER BY timestamp

문법과 사용 가능한 절(clause)·옵션에 대한 자세한 내용은 SQL Reference를 참고하세요.

응답이 깔끔한 테이블 형태로 돌아오는 걸 볼 수 있어요:

┌─user_id─┬─message────────────────────────────────────────────┬───────────timestamp─┬──metric─┐
│     102 │ Insert a lot of rows per batch                     │ 2022-03-21 00:00:00 │ 1.41421 │
│     102 │ Sort your data based on your commonly-used queries │ 2022-03-22 00:00:00 │   2.718 │
│     101 │ Hello, ClickHouse!                                 │ 2022-03-22 14:04:09 │      -1 │
│     101 │ Granules are the smallest chunks of data read      │ 2022-03-22 14:04:14 │ 3.14159 │
└─────────┴────────────────────────────────────────────────────┴─────────────────────┴─────────┘

4 rows in set. Elapsed: 0.008 sec.

FORMAT 절을 추가하면 ClickHouse가 지원하는 다양한 출력 포맷 중 하나를 지정할 수 있어요:

SELECT *
FROM helloworld.my_first_table
ORDER BY timestamp
FORMAT TabSeparated

위 쿼리에서는 출력이 탭으로 구분된 형태로 돌아와요:

Query id: 3604df1c-acfd-4117-9c56-f86c69721121

102 Insert a lot of rows per batch      2022-03-21 00:00:00     1.41421
102 Sort your data based on your commonly-used queries  2022-03-22 00:00:00     2.718
101 Hello, ClickHouse!  2022-03-22 14:04:09     -1
101 Granules are the smallest chunks of data read       2022-03-22 14:04:14     3.14159

4 rows in set. Elapsed: 0.005 sec.

ClickHouse는 70개 이상의 입력·출력 포맷을 지원해요. 수천 개의 함수와 모든 데이터 포맷을 함께 활용하면, ClickHouse로 인상적이면서도 빠른 ETL 같은 데이터 변환을 수행할 수 있어요. 사실 데이터를 변환할 때 ClickHouse 서버가 실행 중일 필요도 없어요 — clickhouse-local 도구를 사용하면 되거든요. 자세한 내용은 clickhouse-local 문서를 확인해 보세요.

더 알아보기 (Learn more)