mergeTreeProjection
mergeTreeProjection
MergeTree 테이블의 특정 프로젝션(projection) 내용을 나타내는 테이블 함수예요. 내부 구조를 들여다보는(introspection) 용도로 사용해요.
출처: 문서
본문
MergeTree 테이블의 특정 프로젝션 내용을 나타내요. 내부 구조를 들여다보는 데 사용할 수 있어요.
문법 (Syntax)
mergeTreeProjection(database, table, projection)
인자 (Arguments)
| 인자 | 설명 |
|---|---|
database |
프로젝션을 읽을 데이터베이스 이름이에요. |
table |
프로젝션을 읽을 테이블 이름이에요. |
projection |
읽을 프로젝션이에요. |
반환값 (Returned value)
주어진 프로젝션이 제공하는 컬럼을 가진 테이블 객체예요.
사용 예시 (Usage Example)
CREATE TABLE test
(
`user_id` UInt64,
`item_id` UInt64,
PROJECTION order_by_item_id
(
SELECT _part_offset
ORDER BY item_id
)
)
ENGINE = MergeTree
ORDER BY user_id;
INSERT INTO test SELECT number, 100 - number FROM numbers(5);
SELECT *, _part_offset FROM mergeTreeProjection(currentDatabase(), test, order_by_item_id);
┌─item_id─┬─_parent_part_offset─┬─_part_offset─┐
1. │ 96 │ 4 │ 0 │
2. │ 97 │ 3 │ 1 │
3. │ 98 │ 2 │ 2 │
4. │ 99 │ 1 │ 3 │
5. │ 100 │ 0 │ 4 │
└─────────┴─────────────────────┴──────────────┘
DESCRIBE mergeTreeProjection(currentDatabase(), test, order_by_item_id) SETTINGS describe_compact_output = 1;
┌─name────────────────┬─type───┐
1. │ item_id │ UInt64 │
2. │ _parent_part_offset │ UInt64 │
└─────────────────────┴────────┘