ClickHouse 데이터 선택하기
ClickHouse 데이터 선택하기 (SELECT)
ClickHouse는 SQL 데이터베이스라서, 여러분이 이미 익숙한 SELECT 쿼리를 그대로 써서 데이터를 조회할 수 있어요. 기본 조회부터 출력 포맷을 지정하는 FORMAT 절, 그리고 clickhouse-local까지 살펴볼게요.
본문
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 문서를 확인해 보세요.