timeSeriesGroupArray
timeSeriesGroupArray
타임스탬프 기준으로 시계열 데이터를 오름차순 정렬해요.
출처: 문서
본문
timeSeriesGroupArray은 타임스탬프 기준으로 시계열 데이터를 오름차순 정렬하는 집계 함수예요. v25.8.0에 도입되었어요.
시계열 데이터를 타임스탬프 기준으로 오름차순 정렬해요. 샘플은 다음 세 가지 형태 중 하나로 전달할 수 있어요:
- 두 개의 인자
timestamp와value로 전달. 각 행은 단일 샘플을 담아요. - 타임스탬프와 값의 두 배열로 전달. 각 행은 전체 시계열을 담아요.
(timestamp, value)튜플들의 단일 배열로 전달. 각 행은 전체 시계열을 담아요. 이 형태는 결과와 동일한 타입을 가지므로SimpleAggregateFunction데이터 타입에서 함수를 사용할 수 있게 해줘요.
여러 샘플이 같은 타임스탬프를 가지면 그중 하나만 사용돼요: 값이 가장 큰 샘플이에요. NaN 값은 다른 어떤 값에도 지므로, 해당 타임스탬프의 모든 샘플이 NaN일 때만 NaN이 사용돼요.
이 함수는 비공개 프리뷰(private preview) 상태라 enable_time_series_aggregate_functions=true 로 설정해야 해요.
구문 (Syntax)
timeSeriesGroupArray(timestamp, value)
timeSeriesGroupArray(samples)
인자 (Arguments)
timestamp— 샘플의 타임스탬프예요. 개별 값이거나 배열일 수 있어요. UInt32 또는 DateTime 또는 DateTime64 또는 Array(UInt32) 또는 Array(DateTime) 또는 Array(DateTime64) 타입이에요.value— 타임스탬프에 대응하는 시계열 값이에요. 개별 값이거나 배열일 수 있어요. Float* 또는 Array(Float*) 타입이에요.samples— 시계열의 샘플로, 튜플(timestamp, value)들의 배열로 전달돼요. 튜플 원소들은 위에 나열한 타임스탬프와 값 타입을 가져요. Array(Tuple(T1, T2)) 타입이에요.
반환 값 (Returned value)
타임스탬프 기준으로 오름차순 정렬된 튜플 (timestamp, value) 들의 배열을 반환해요.
- Array(Tuple(T1, T2)) 타입이에요.
예시 (Examples)
개별 값을 사용한 기본 사용법
쿼리:
SET enable_time_series_aggregate_functions = 1;
WITH
[110, 120, 130, 140, 140, 100]::Array(UInt32) AS timestamps,
[1, 6, 8, 17, 19, 5]::Array(Float32) AS values
SELECT timeSeriesGroupArray(timestamp, value)
FROM
(
SELECT
arrayJoin(arrayZip(timestamps, values)) AS ts_and_val,
ts_and_val.1 AS timestamp,
ts_and_val.2 AS value
);
응답:
┌─timeSeriesGroupArray(timestamp, value)─────┐
│ [(100,5),(110,1),(120,6),(130,8),(140,19)] │
└────────────────────────────────────────────┘
같은 크기의 배열로 타임스탬프와 값의 여러 샘플을 전달하기
쿼리:
SET enable_time_series_aggregate_functions = 1;
WITH
[110, 120, 130, 140, 140, 100]::Array(UInt32) AS timestamps,
[1, 6, 8, 17, 19, 5]::Array(Float32) AS values
SELECT timeSeriesGroupArray(timestamps, values);
응답:
┌─timeSeriesGroupArray(timestamps, values)───┐
│ [(100,5),(110,1),(120,6),(130,8),(140,19)] │
└────────────────────────────────────────────┘