Docs Menu
Docs Home
/ / /
PyMongo
/

시계열 데이터

이 페이지의 내용

  • 개요
  • Time Series 컬렉션 만들기
  • 예시
  • Time Series 데이터 저장
  • 예시
  • Time Series 데이터 쿼리
  • 추가 정보
  • API 문서

이 가이드 에서는 PyMongo 를 사용하여 Time Series 데이터 를 저장 하고 상호 작용 하는 방법을 학습 수 있습니다.

시계열 데이터는 다음 구성 요소로 구성됩니다.

  • 측정 수량

  • 측정 타임스탬프

  • 측정값을 설명하는 메타데이터

다음 표에서는 Time Series 데이터 를 저장 수 있는 샘플 상황을 설명합니다.

상황
측정 수량
Metadata

산업별 월별 매출 기록

USD 기준 수익

회사, 국가

날씨 변화 추적

강수량 수준

위치, 센서 유형

기록적인 주택 가격 변동

월 임대료

위치, 통화

중요

Time Series 컬렉션의 서버 버전

Time Series 컬렉션을 만들고 상호 작용하려면 MongoDB Server 5.0 이상을 실행하는 배포에 연결되어 있어야 합니다.

time series 컬렉션 을 만들려면 create_collection() 메서드에 다음 인수를 전달합니다.

  • 생성할 새 컬렉션의 이름

  • timeseries Argument

timeseries 인수는 dict 유형입니다. 여기에는 다음 필드가 포함되어 있습니다.

  • timeField: 각 time series 문서 에 타임스탬프를 저장하는 필드 를 지정합니다.

  • metaField: 각 time series 문서 에 메타데이터 를 저장하는 필드 를 지정합니다.

  • granularity: 연속된 타임스탬프 사이의 대략적인 시간을 지정합니다. 가능한 값은 'seconds', 'minutes''hours' 입니다.

  • bucketMaxSpanSeconds: 동일한 버킷에 있는 타임스탬프 사이의 최대 시간을 설정합니다.

  • bucketRoundingSeconds: MongoDB 가 새 버킷에 대한 최소 타임스탬프를 설정할 때 반내림할 시간(초)을 설정합니다. bucketMaxSpanSeconds 과 같아야 합니다.

이러한 필드에 학습 보려면 명령 필드를 참조하세요.

다음 예시 에서는 timeField 옵션을 "timestamp"로 설정하다 하여 이름이 october2024 인 time series 컬렉션 을 만듭니다.

database = client.get_database("weather")
time_series_options = {
"timeField": "timestamp"
}
database.create_collection("october2024", timeseries=time_series_options)

컬렉션 이 성공적으로 생성되었는지 확인하려면 데이터베이스 의 모든 collection 목록을 가져오고 컬렉션 이름으로 필터하다 하면 됩니다.

print(list(database.list_collections(filter={'name': 'october2024'})))
{
"name": "october2024",
"type": "timeseries",
"options": {
"timeseries": {
"timeField": "timestamp",
"granularity": "seconds",
"bucketMaxSpanSeconds": 3600
}
},
"info": {
"readOnly": False
}
}

insert_one() 또는 insert_many() 메서드를 사용하고 삽입된 각 문서 에 측정값, 타임스탬프 및 메타데이터 를 지정하여 time series 컬렉션 에 데이터를 삽입할 수 있습니다.

문서 삽입에 학습 보려면 문서 삽입을 참조하세요.

이 예시 에서는 Time Series 컬렉션 만들기에서 만든 Time Series time series 컬렉션 에 뉴욕시 온도 데이터를 october2024 삽입합니다. 각 문서 에는 다음 필드가 포함되어 있습니다.

  • temperature, 온도 측정값을 화씨 단위로 저장합니다.

  • location위치 메타데이터 를 저장합니다.

  • timestamp, 측정 타임스탬프를 저장합니다.

from datetime import datetime
collection = database["october2024"]
document_list = [
{ "temperature": 77, "location": "New York City", "timestamp": datetime(2024, 10, 22, 6, 0, 0) },
{ "temperature": 74, "location": "New York City", "timestamp": datetime(2024, 10, 23, 6, 0, 0) }
]
collection.insert_many(document_list)

날짜 및 시간 서식 지정

PyMongo 에서 객체를 사용하는 방법에 학습 보려면 datetime 날짜 및 시간을 참조하세요.

다른 컬렉션에서 읽기 또는 집계 작업을 수행할 때 사용하는 것과 동일한 구문 및 규칙을 사용하여 time series 컬렉션 에 저장된 데이터를 쿼리 할 수 있습니다. 이러한 작업에 학습 보려면 MongoDB 에서 데이터 읽기애그리게이션으로 데이터 변환을 참조하세요.

이 가이드 의 개념에 학습 보려면 다음 MongoDB Server 매뉴얼 항목을 참조하세요.

이 가이드 에 언급된 메서드에 학습 보려면 다음 API 설명서를 참조하세요.

돌아가기

UUID