본문으로 바로가기
본문으로 바로가기

시계열 함수

아래 함수들은 timeSeriesInstantRateToGrid, timeSeriesLastToGrid 등의 timeSeries*() 집계 함수와 함께 사용하도록 설계되었습니다.

seriesDecomposeSTL

도입된 버전: v24.1

STL (Loess 기반 계절-추세 분해 절차, Seasonal-Trend Decomposition Procedure Based on Loess)을 사용하여 시계열 데이터를 계절 성분, 추세 성분, 잔차 성분으로 분해합니다.

구문

seriesDecomposeSTL(series, period)

인수(Arguments)

반환 값(Returned value)

네 개의 배열로 이루어진 배열을 반환합니다. 첫 번째 배열에는 계절(시즌) 성분이, 두 번째 배열에는 추세(trend)가, 세 번째 배열에는 잔차(residue) 성분이, 네 번째 배열에는 기준선(베이스라인, seasonal + trend) 성분이 포함됩니다. Array(Array(Float32), Array(Float32), Array(Float32), Array(Float32))

예시(Examples)

STL을 사용하여 시계열 데이터 분해하기(Decompose series data using STL)

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
┌───────────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

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)

예시

기본 이상치 감지

SELECT seriesOutliersDetectTukey([-3, 2, 15, 3, 5, 6, 4, 5, 12, 45, 12, 3, 3, 4, 5, 6]) AS print_0
┌───────────print_0─────────────────┐
│[0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0] │
└───────────────────────────────────┘

사용자 정의 매개변수 기반 이상치 감지

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
┌─print_0──────────────────────────────┐
│ [0,0,0,0,0,0,0,0,0,19.5,0,0,0,0,0,0] │
└──────────────────────────────────────┘

seriesPeriodDetectFFT

도입 버전: v23.12

FFT(Fast Fourier Transform, 고속 푸리에 변환)을 사용하여 주어진 시계열 데이터의 주기를 찾습니다. Fast Fourier transform

구문

seriesPeriodDetectFFT(series)

인수

반환 값

시계열의 주기에 해당하는 실수 값을 반환합니다. 데이터 포인트 개수가 4개 미만이면 NaN을 반환합니다. Float64

예시

단순 패턴을 이용한 주기 탐지

SELECT seriesPeriodDetectFFT([1, 4, 6, 1, 4, 6, 1, 4, 6, 1, 4, 6, 1, 4, 6, 1, 4, 6, 1, 4, 6]) AS print_0
┌───────────print_0──────┐
│                      3 │
└────────────────────────┘

복잡한 패턴 기반 기간 감지

SELECT seriesPeriodDetectFFT(arrayMap(x -> abs((x % 6) - 3), range(1000))) AS print_0
┌─print_0─┐
│       6 │
└─────────┘

timeSeriesCopyTag

도입: v26.1

지정된 태그를 한 태그 그룹(src_group)에서 다른 태그 그룹(dest_group)으로 복사합니다. 이 함수는 dest_group에 이미 존재하던 해당 태그의 모든 기존 값을 대체합니다. 복사할 태그가 src_group에 존재하지 않으면, 함수는 dest_group에서 해당 태그를 제거합니다. 이 함수는 prometheus의 group left/group right 수정자의 복사 로직과 동일하게 동작합니다.

구문

timeSeriesCopyTag(dest_group, src_group, tag_to_copy)

인수

  • dest_group — 대상 태그 그룹입니다. UInt64
  • src_group — 원본 태그 그룹입니다. UInt64
  • tag_to_copy — 복사할 태그의 이름입니다. String

반환 값

dest_group의 태그와 src_group에서 복사된 태그를 함께 포함하는 태그 그룹을 반환합니다. UInt64

예제

예제

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS dest_group,
       timeSeriesTagsToGroup([('code', '404'), ('message', 'Page not found')], '__name__', 'http_codes') AS src_group,
       timeSeriesCopyTag(dest_group, src_group, '__name__') AS result_group,
       timeSeriesGroupToTags(result_group)
┌─dest_group─┬─src_group─┬─result_group─┬─timeSeriesGroupToTags(result_group)────────────────────────┐
│          1 │         2 │            3 │ [('__name__','http_codes'),('code','404'),('region','eu')] │
└────────────┴───────────┴──────────────┴────────────────────────────────────────────────────────────┘

timeSeriesCopyTags

도입 버전: v26.1

지정된 태그를 한 태그 그룹(src_group)에서 다른 태그 그룹(dest_group)으로 복사합니다. 이 함수는 dest_group에서 복사된 태그의 기존 값을 모두 대체합니다. 복사 대상 태그 중 일부가 src_group에 존재하지 않으면, 이 함수는 해당 태그를 dest_group에서도 제거합니다. 이 함수는 Prometheus의 group left/group right 수정자의 태그 복사 로직을 따릅니다.

구문

timeSeriesCopyTags(dest_group, src_group, tags_to_copy)

인수

  • dest_group — 태그의 대상 그룹입니다. UInt64
  • src_group — 태그의 소스 그룹입니다. UInt64
  • tags_to_copy — 복사할 태그 이름입니다. Array(String)

반환 값

dest_group의 태그와 src_group에서 복사된 태그를 모두 포함하는 태그 그룹을 반환합니다. UInt64

예시

예시

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS dest_group,
       timeSeriesTagsToGroup([('code', '404'), ('message', 'Page not found')], '__name__', 'http_codes') AS src_group,
       timeSeriesCopyTags(dest_group, src_group, ['__name__', 'code', 'env']) AS result_group,
       timeSeriesGroupToTags(result_group)
┌─dest_group─┬─src_group─┬─result_group─┬─timeSeriesGroupToTags(result_group)────────────────────────┐
│          1 │         2 │            3 │ [('__name__','http_codes'),('code','404'),('region','eu')] │
└────────────┴───────────┴──────────────┴────────────────────────────────────────────────────────────┘

timeSeriesExtractTag

도입된 버전: v26.1

그룹에서 지정된 태그의 값을 추출합니다. 해당 태그를 찾을 수 없으면 NULL을 반환합니다. 함수 timeSeriesGroupToTags()도 참고하십시오.

구문

timeSeriesExtractTag(group)

매개변수

  • group — 태그의 그룹. UInt64
  • tag_to_extract — 그룹에서 추출할 태그의 이름. String

반환 값

지정된 태그의 값을 반환합니다. Nullable(String)

예제

예제

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS group,
       timeSeriesExtractTag(group, '__name__'),
       timeSeriesExtractTag(group, 'env'),
       timeSeriesExtractTag(group, 'instance')
┌─group─┬─timeSeriesExtractTag(group, '__name__')─┬─timeSeriesExtractTag(group, 'env')─┬─timeSeriesExtractTag(group, 'instance')─┐
│     1 │ http_requests_count                     │ dev                                │ ᴺᵁᴸᴸ                                    │
└───────┴─────────────────────────────────────────┴────────────────────────────────────┴─────────────────────────────────────────┘

timeSeriesFromGrid

도입 버전: v25.8

값 배열 [x1, x2, x3, ...]을(를) 튜플의 배열 [(start_timestamp, x1), (start_timestamp + step, x2), (start_timestamp + 2 * step, x3), ...]로 변환합니다.

현재 타임스탬프 값은 step만큼 증가하며 end_timestamp보다 커질 때까지 계속됩니다. 값의 개수가 타임스탬프의 개수와 일치하지 않으면 함수가 예외를 발생시킵니다.

[x1, x2, x3, ...]에 있는 NULL 값은 건너뛰지만, 현재 타임스탬프는 계속 증가합니다. 예를 들어 [value1, NULL, x2]에 대해서 함수는 [(start_timestamp, x1), (start_timestamp + 2 * step, x2)]를 반환합니다.

구문

timeSeriesFromGrid(start_timestamp, end_timestamp, step, values)

인수

반환 값

start_timestampstep으로 정의된 규칙적인 시간 그리드에서 타임스탬프와 결합된 원본 값 배열의 값을 반환합니다. Array(Tuple(DateTime64, Float64))

예시

사용 예시

SELECT timeSeriesFromGrid('2025-06-01 00:00:00'::DateTime64(3), '2025-06-01 00:01:30.000'::DateTime64(3), 30, [10, 20, NULL, 30]) AS result;
┌─────────────────────────────────────────────result─────────────────────────────────────────────┐
│ [('2025-06-01 00:00:00.000',10),('2025-06-01 00:00:30.000',20),('2025-06-01 00:01:30.000',30)] │
└────────────────────────────────────────────────────────────────────────────────────────────────┘

timeSeriesGroupToTags

도입된 버전: v26.1

지정된 그룹과 관련된 태그 이름과 값을 반환합니다. 함수 timeSeriesTagsToGroup()도 참고하십시오.

구문

timeSeriesGroupToTags(group)

별칭(Aliases): timeSeriesTagsGroupToTags

인수(Arguments)

  • group — 태그 그룹입니다. UInt64

반환 값(Returned value)

(tag_name, tag_value) 쌍의 배열을 반환합니다. 반환되는 배열은 항상 tag_name 기준으로 정렬되며, 동일한 tag_name이 중복되어 포함되지 않습니다. Array(Tuple(String, String))

예시(Examples)

예시(Example)

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS group,
       timeSeriesGroupToTags(group) AS sorted_tags,
       timeSeriesTagsToGroup(sorted_tags) AS same_group,
       throwIf(same_group != group)
┌─group─┬─sorted_tags────────────────────────────────────────────────────────┬─same_group─┬─throwIf(notE⋯up, group))─┐
│     1 │ [('__name__','http_requests_count'),('env','dev'),('region','eu')] │          1 │                        0 │
└───────┴────────────────────────────────────────────────────────────────────┴────────────┴──────────────────────────┘

timeSeriesIdToGroup

도입: v26.1

지정된 시계열 식별자와 연관된 태그의 이름과 값을 반환합니다. 함수 timeSeriesStoreTags()도 참고하십시오.

구문

timeSeriesIdToGroup(id)

별칭(Aliases): timeSeriesIdToTagsGroup

인수(Arguments)

반환 값(Returned value)

시계열의 식별자 id와 연관된 태그 그룹을 반환합니다. UInt64

예제(Examples)

예제(Example)

SELECT 8374283493092 AS id,
       timeSeriesStoreTags(id, [('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS same_id,
       throwIf(same_id != id),
       timeSeriesIdToGroup(same_id) AS group,
       timeSeriesGroupToTags(group)
┌────────────id─┬───────same_id─┬─throwIf(notE⋯me_id, id))─┬─group─┬─timeSeriesGroupToTags(group)───────────────────────────────────────┐
│ 8374283493092 │ 8374283493092 │                        0 │     1 │ [('__name__','http_requests_count'),('env','dev'),('region','eu')] │
└───────────────┴───────────────┴──────────────────────────┴───────┴────────────────────────────────────────────────────────────────────┘

timeSeriesIdToTags

도입된 버전: v25.8

지정된 시계열 식별자와 연결된 태그를 반환합니다. 함수 timeSeriesStoreTags()도 참고하십시오.

구문

timeSeriesIdToTags(id)

인수

반환 값

(tag_name, tag_value) 쌍의 배열을 반환합니다. 반환되는 배열은 항상 tag_name을 기준으로 정렬되며, 동일한 tag_name을 두 번 이상 포함하지 않습니다. Array(Tuple(String, String))

예시

예시

SELECT 8374283493092 AS id,
       timeSeriesStoreTags(id, [('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS same_id,
       throwIf(same_id != id),
       timeSeriesIdToTags(same_id)
┌────────────id─┬───────same_id─┬─throwIf(notE⋯me_id, id))─┬─timeSeriesIdToTags(same_id)────────────────────────────────────────┐
│ 8374283493092 │ 8374283493092 │                        0 │ [('__name__','http_requests_count'),('env','dev'),('region','eu')] │
└───────────────┴───────────────┴──────────────────────────┴────────────────────────────────────────────────────────────────────┘

timeSeriesJoinTags

도입: v26.1

태그 그룹에서 추출한 지정된 태그 값들을 조인합니다. 함수는 조인된 값들 사이에 구분자를 삽입하고, 조인된 값을 dest_tag 태그에 설정한 새로운 태그 그룹을 반환합니다. 이 함수는 Prometheus 함수 label_join()와 동일한 로직을 따릅니다.

구문

timeSeriesJoinTags(group, dest_tag, separator, src_tags)

인수

  • group — 태그 그룹입니다. UInt64
  • dest_tag — 결합된 결과가 저장되어 group에 추가될 태그 이름입니다. String
  • separator — 결합된 값 사이에 삽입할 구분자입니다. String
  • src_tags — 값을 결합할 소스 태그 이름들입니다. Array(String)

반환 값

dest_tag 태그가 결합 결과로 설정된 새 태그 그룹을 반환합니다. UInt64

예시

예시

SELECT timeSeriesTagsToGroup([('__name__', 'up'), ('job', 'api-server'), ('src1', 'a'), ('src2', 'b'), ('src3', 'c')]) AS group,
       timeSeriesJoinTags(group, 'foo', ',', ['src1', 'src2', 'src3']) AS result_group,
       timeSeriesGroupToTags(result_group)
┌─group─┬─result_group─┬─timeSeriesGroupToTags(result_group)─────────────────────────────────────────────────────────────┐
│     1 │            2 │ [('__name__','up'),('foo','a,b,c'),('job','api-server'),('src1','a'),('src2','b'),('src3','c')] │
└───────┴──────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────┘

timeSeriesRange

도입 버전: v25.8

타임스탬프 범위 [start_timestamp, start_timestamp + step, start_timestamp + 2 * step, ..., end_timestamp]를 생성합니다.

start_timestampend_timestamp와 같으면 함수는 [start_timestamp]가 포함된, 원소가 1개인 배열을 반환합니다.

함수 timeSeriesRange()는 함수 range와 유사합니다.

구문

timeSeriesRange(start_timestamp, end_timestamp, step)

인수

반환 값

타임스탬프 범위를 반환합니다. Array(DateTime64)

예시

사용 예시

SELECT timeSeriesRange('2025-06-01 00:00:00'::DateTime64(3), '2025-06-01 00:01:00'::DateTime64(3), 30)
┌────────────────────────────────────result─────────────────────────────────────────┐
│ ['2025-06-01 00:00:00.000', '2025-06-01 00:00:30.000', '2025-06-01 00:01:00.000'] │
└───────────────────────────────────────────────────────────────────────────────────┘

timeSeriesRemoveAllTagsExcept

도입 버전: v26.1

태그 그룹에서 지정된 태그들을 제외한 나머지 모든 태그를 제거합니다. 함수 timeSeriesRemoveTag(), timeSeriesRemoveTags()도 참조하십시오.

구문

timeSeriesRemoveAllTagsExcept(group, tags_to_keep)

인수

  • group — 태그 그룹입니다. UInt64
  • tags_to_keep — 그룹에서 유지할 태그의 이름입니다. Array(String)

반환 값

지정된 태그만 포함하는 새로운 태그 그룹입니다. UInt64

예제

예제

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS group,
       timeSeriesRemoveAllTagsExcept(group, ['env']) AS result_group,
       timeSeriesGroupToTags(result_group)
┌─group─┬─result_group─┬─timeSeriesGroupToTags(result_group)─┐
│     1 │            2 │ [('env','dev')]                     │
└───────┴──────────────┴─────────────────────────────────────┘

timeSeriesRemoveTag

도입 버전: v26.1

태그 그룹에서 지정된 태그를 제거합니다. 그룹에 해당 태그가 없으면 그룹은 변경되지 않은 상태로 반환됩니다. 함수 timeSeriesRemoveTags(), timeSeriesRemoveAllTagsExcept()도 함께 참고하십시오.

구문

timeSeriesRemoveTag(group, tag_to_remove)

인수

  • group — 태그 그룹입니다. UInt64
  • tag_to_remove — 그룹에서 제거할 태그 이름입니다. String

반환 값

지정된 태그가 제거된 새로운 태그 그룹입니다. UInt64

예제

예제

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS group_of_3,
       timeSeriesRemoveTag(group_of_3, '__name__') AS group_of_2,
       timeSeriesGroupToTags(group_of_2),
       timeSeriesRemoveTag(group_of_2, 'env') AS group_of_1,
       timeSeriesGroupToTags(group_of_1),
       timeSeriesRemoveTag(group_of_1, 'region') AS empty_group,
       timeSeriesGroupToTags(empty_group)
┌─group_of_3─┬─group_of_2─┬─timeSeriesGroupToTags(group_of_2)─┬─group_of_1─┬─timeSeriesGroupToTags(group_of_1)─┬─empty_group─┬─timeSeriesGroupToTags(empty_group)─┐
│          1 │          2 │ [('env','dev'),('region','eu')]   │          3 │ [('region','eu')]                 │           0 │ []                                 │
└────────────┴────────────┴───────────────────────────────────┴────────────┴───────────────────────────────────┴─────────────┴────────────────────────────────────┘

timeSeriesRemoveTags

도입 버전: v26.1

지정된 태그를 태그 그룹에서 제거합니다. 지정된 태그 중 일부가 태그 그룹에 없으면 FUNCTION은 해당 태그를 무시합니다. FUNCTION timeSeriesRemoveTag(), timeSeriesRemoveAllTagsExcept()도 함께 참고하십시오.

구문

timeSeriesRemoveTags(group, tags_to_remove)

인수

  • group — 태그 그룹입니다. UInt64
  • tags_to_remove — 그룹에서 제거할 태그들의 이름입니다. Array(String)

반환값

지정된 태그가 제거된 새로운 태그 그룹입니다. UInt64

예시

예시

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS group_of_3,
       timeSeriesRemoveTags(group_of_3, ['env', 'region']) AS group_of_1,
       timeSeriesGroupToTags(group_of_1),
       timeSeriesRemoveTags(group_of_1, ['__name__', 'nonexistent']) AS empty_group,
       timeSeriesGroupToTags(empty_group)
┌─group_of_3─┬─group_of_1─┬─timeSeriesGroupToTags(group_of_1)────┬─empty_group─┬─timeSeriesGroupToTags(empty_group)─┐
│          1 │          2 │ [('__name__','http_requests_count')] │           0 │ []                                 │
└────────────┴────────────┴──────────────────────────────────────┴─────────────┴────────────────────────────────────┘

timeSeriesReplaceTag

도입된 버전: v26.1

태그 src_tag의 값에 정규식 regex를 적용해 일치 여부를 확인합니다. 일치하는 경우, 반환되는 그룹에서 태그 dest_tag의 값은 replacement를 확장한 결과가 되며, 여기에 입력에 있던 원래 태그들이 함께 포함됩니다. 이 함수는 Prometheus 함수 label_replace()의 동작을 모방합니다.

구문

timeSeriesReplaceTag(group, dest_tag, replacement, src_tag, regex)

인수

  • group — 태그 그룹입니다. UInt64
  • dest_tag — 결과 그룹을 생성할 때 사용할 대상 태그 이름입니다. String
  • replacement — 대체 패턴입니다. 정규식 「regex」에서 캡처 그룹을 참조하기 위해 1,1, 2 또는 $name을 포함할 수 있습니다. String
  • src_tag — 값이 정규식 「regex」와 매칭되는 태그의 이름입니다. String
  • regex — 정규식입니다. String

반환 값

dest_tag가 추가될 수 있는 새 태그 그룹입니다. UInt64

예제

예제

SELECT timeSeriesTagsToGroup([('__name__', 'up'), ('job', 'api-server'), ('service', 'a:c')]) AS group,
       timeSeriesReplaceTag(group, 'foo', '$1', 'service', '(.*):.*') AS result_group,
       timeSeriesGroupToTags(result_group)
┌─group─┬─result_group─┬─timeSeriesGroupToTags(result_group)────────────────────────────────────┐
│     1 │            2 │ [('__name__','up'),('foo','a'),('job','api-server'),('service','a:c')] │
└───────┴──────────────┴────────────────────────────────────────────────────────────────────────┘

timeSeriesStoreTags

도입: v25.8

쿼리 컨텍스트에 지정된 시계열 식별자와 태그 집합 간의 매핑을 저장합니다. 함수 timeSeriesIdToTags()timeSeriesIdToGroup()을(를) 나중에 쿼리 실행 중 이 매핑에 접근하는 데 사용할 수 있습니다.

구문

timeSeriesStoreTags(id, tags_array, separate_tag_name_1, separate_tag_value_1, ...)

인수

반환 값

시계열 식별자(즉, 첫 번째 인수를 그대로)를 반환합니다.

예시

예시

SELECT 8374283493092 AS id,
       timeSeriesStoreTags(id, [('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS same_id,
       throwIf(same_id != id),
       timeSeriesIdToTags(same_id),
       timeSeriesGroupToTags(timeSeriesIdToGroup(same_id))
┌────────────id─┬───────same_id─┬─throwIf(notEquals(same_id, id))─┬─timeSeriesIdToTags(same_id)────────────────────────────────────────┬─timeSeriesGroupToTags(timeSeriesIdToGroup(same_id))────────────────┐
│ 8374283493092 │ 8374283493092 │                               0 │ [('__name__','http_requests_count'),('env','dev'),('region','eu')] │ [('__name__','http_requests_count'),('env','dev'),('region','eu')] │
└───────────────┴───────────────┴─────────────────────────────────┴────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────┘

timeSeriesTagsToGroup

도입 버전: v26.1

지정된 태그 집합에 해당하는 태그 그룹을 반환합니다. 쿼리 실행 중에 동일한 태그 그룹이 여러 번 발견되면 함수는 동일한 그룹을 반환합니다. 태그 집합이 비어 있는 경우 함수는 항상 0을 반환합니다. 함수 timeSeriesGroupToTags()도 함께 참고하십시오.

구문

timeSeriesTagsToGroup(tags_array, tag_name_1, tag_value_1, tag_name2, tag_value2, ...)

인수

반환 값

지정된 태그에 대응하는 태그 그룹을 반환합니다. UInt64

예제

예제

SELECT timeSeriesTagsToGroup([('region', 'eu'), ('env', 'dev')], '__name__', 'http_requests_count') AS group1,
       timeSeriesTagsToGroup([], '__name__', 'http_failures') AS group2,
       timeSeriesTagsToGroup([]) AS empty_group,
       timeSeriesTagsToGroup([], '__name__', 'http_failures') AS same_group2,
       throwIf(same_group2 != group2),
       timeSeriesGroupToTags(group2)
┌─group1─┬─group2─┬─empty_group─┬─same_group2─┬─throwIf(notEquals(same_group2, group2))─┬─timeSeriesGroupToTags(group2)──┐
│      1 │      2 │           0 │           2 │                                       0 │ [('__name__','http_failures')] │
└────────┴────────┴─────────────┴─────────────┴─────────────────────────────────────────┴────────────────────────────────┘