timeSeries 함수
timeSeries 함수 (Time-series functions)
이 함수들은 timeSeriesInstantRateToGrid, timeSeriesLastToGrid 같은 timeSeries*() 집계 함수와 함께 사용하도록 설계되었어요.
출처: 문서
본문
아래 함수들은 timeSeriesInstantRateToGrid, timeSeriesLastToGrid 등의 timeSeries*() 집계 함수와 함께 사용하도록 설계되었습니다.
seriesDecomposeSTL
도입 버전: v24.1.0
시리즈 데이터를 STL (Loess 기반 계절-추세 분해 절차)로 계절(season), 추세(trend), 잔차(residual) 구성 요소로 분해합니다.
구문
seriesDecomposeSTL(series, period)
인자
series— 숫자 값의 배열Array((U)Int8/16/32/64)또는Array(Float*)period— 양의 정수UInt8/16/32/64
반환 값
네 개의 배열로 이루어진 배열을 반환합니다. 첫 번째 배열은 계절 구성 요소, 두 번째는 추세, 세 번째는 잔차 구성 요소, 네 번째는 기준선(계절 + 추세) 구성 요소입니다. Array(Array(Float32), Array(Float32), Array(Float32), Array(Float32))
예제 — STL로 시리즈 데이터 분해
Query
SELECT seriesDecomposeSTL([10.1, 20.45, 40.34, 10.1, 20.45, 40.34, 10.1, 20.45, 40.34, 10.1, 20.45, 40.34, 10.1, 20.45, 40.34, 10.1, 20.45, 40.34, 10.1, 20.45, 40.34, 10.1, 20.45, 40.34], 3) AS print_0
Response
┌─print_0────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [[-13.529999,-3.1799996,16.71,-13.53,-3.1799996,16.71,-13.53,-3.1799996,16.71,-13.530001,-3.18,16.710001,-13.530001,-3.1800003,16.710001,-13.530001,-3.1800003,16.710001,-13.530001,-3.1799994,16.71,-13.529999,-3.1799994,16.709997],[23.63,23.63,23.630003,23.630001,23.630001,23.630001,23.630001,23.630001,23.630001,23.630001,23.630001,23.63,23.630001,23.630001,23.63,23.630001,23.630001,23.63,23.630001,23.630001,23.630001,23.630001,23.630001,23.630003],[0,0.0000019073486,-0.0000019073486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.0000019073486,0,0],[10.1,20.449999,40.340004,10.100001,20.45,40.34,10.100001,20.45,40.34,10.1,20.45,40.34,10.1,20.45,40.34,10.1,20.45,40.34,10.1,20.45,40.34,10.100002,20.45,40.34]] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
seriesOutliersDetectTukey
도입 버전: v24.2.0
Tukey Fences를 사용해 시리즈 데이터의 이상치를 감지합니다.
구문
seriesOutliersDetectTukey(series[, min_percentile, max_percentile, K])
인자
series— 숫자 값의 배열.Array((UInt8/16/32/64))또는Array(Float*)min_percentile— 선택 사항. 사분위 범위 (IQR)를 계산하는 데 사용할 최소 백분위수. 값은 [0.02,0.98] 범위여야 합니다. 기본값은 0.25.Float*max_percentile— 선택 사항. 사분위 범위(IQR)를 계산하는 데 사용할 최대 백분위수. 값은 [0.02,0.98] 범위여야 합니다. 기본값은 0.75.Float*K— 선택 사항. 경미하거나 강한 이상치를 감지하는 비음수 상수 값. 기본값은 1.5.Float*
반환 값
입력 배열과 같은 길이의 배열을 반환하며, 각 값은 시리즈의 해당 요소가 가질 수 있는 이상치 점수를 나타냅니다. 0이 아닌 점수는 가능한 이상치를 나타냅니다. Array(Float32)
예제 — 기본 이상치 감지
Query
SELECT seriesOutliersDetectTukey([-3, 2, 15, 3, 5, 6, 4, 5, 12, 45, 12, 3, 3, 4, 5, 6]) AS print_0
Response
┌─print_0────────────────────────────┐
│ [0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0] │
└────────────────────────────────────┘
예제 — 사용자 지정 파라미터 이상치 감지
Query
SELECT seriesOutliersDetectTukey([-3, 2, 15, 3, 5, 6, 4.50, 5, 12, 45, 12, 3.40, 3, 4, 5, 6], 0.2, 0.8, 1.5) AS print_0
Response
┌─print_0──────────────────────────────┐
│ [0,0,0,0,0,0,0,0,0,19.5,0,0,0,0,0,0] │
└──────────────────────────────────────┘
seriesPeriodDetectFFT
도입 버전: v23.12.0
FFT(고속 푸리에 변환)를 사용해 주어진 시리즈 데이터의 주기를 찾습니다.
구문
seriesPeriodDetectFFT(series)
timeSeriesCopyTag
시간 시리즈에서 태그 값을 복사하는 함수입니다.
timeSeriesCopyTags
시간 시리즈에서 여러 태그를 복사하는 함수입니다.
timeSeriesExtractTag
시간 시리즈에서 태그 값을 추출하는 함수입니다.
timeSeriesFromGrid
그리드 형태의 시간 시리즈를 변환하는 함수입니다.
timeSeriesGroupToSamplingKey
시간 시리즈 그룹을 샘플링 키로 변환하는 함수입니다.
timeSeriesGroupToTags
시간 시리즈 그룹을 태그로 변환하는 함수입니다.
timeSeriesIdToGroup
시계열 ID를 그룹으로 변환하는 함수입니다.
timeSeriesIdToTags
시계열 ID를 태그로 변환하는 함수입니다.
timeSeriesJoinTags
시간 시리즈의 태그를 결합하는 함수입니다.
timeSeriesMetricTypeToSuffixes
메트릭 타입을 접미사로 변환하는 함수입니다.
timeSeriesPrometheusValueToString
Prometheus 값을 문자열로 변환하는 함수입니다.
timeSeriesRange
시간 시리즈의 범위를 반환하는 함수입니다.
timeSeriesRemoveAllTagsExcept
지정한 태그를 제외한 모든 태그를 제거하는 함수입니다.
timeSeriesRemoveTag
시간 시리즈에서 태그를 제거하는 함수입니다.
timeSeriesRemoveTags
시간 시리즈에서 여러 태그를 제거하는 함수입니다.
timeSeriesReplaceTag
시간 시리즈에서 태그를 교체하는 함수입니다.
timeSeriesStoreTags
시간 시리즈에 태그를 저장하는 함수입니다.
timeSeriesTagsToGroup
시간 시리즈 태그를 그룹으로 변환하는 함수입니다.
timeSeriesTagsToMap
시간 시리즈 태그를 맵으로 변환하는 함수입니다.
timeSeriesThrowDuplicateSeriesIf
중복 시리즈가 발생하면 예외를 던지는 함수입니다.