[MongoDB] Timezone(타임존) 문제와 해결 (feat.Python)

2022. 2. 19. 21:11·Engineering/Tools

Mongo DB는 Time zone이 UTC로 고정되어 있다. 

따라서 Mongo DB에서 데이터를 불러올 때, Date 형식의 변수 값이 다를 수 있다. 

필자의 경우, pymongo를 통해 데이터를 입력할 때는 정상적으로 되었으나, 추후 Spark를 통해 데이터를 읽어왔을 때 문제가 생겼다.

 

🤔 문제


필자는 네이버 종목토론방의 정보를 다루는 중이라서 이를 예시로 들겠다. 

Mongo DB의 데이터

 

Pyspark를 통해 불러온 데이터

 

살펴보면 시간대가 9시간이 차이나는 것을 알 수 있다. 🤔

이러면 Date로 필터링할 때, 엄청난 혼선을 겪을 수 있다.  필자가 그랬다...

 

생각해보면 Pyspark에서 불러올 때 MongoDB의 시간대는 UTC이고, Pycharm 환경의 시간대는 한국(UTC+9)임으로 자동으로 9시간을 더한 것 같다.

그래서 이를 해결하기 위해서 이것저것 해보았지만, 아래 방법이 가장 나은 것 같았다. 

 

 

💡 해결


해결 방법은 간단하다. datetime 모듈을 활용하여 filtering 해주는 기준에 9시간을 더 하면 된다.

 

 


해결은 간단했지만, 애초에 Mongo DB의 시간대가 다른 줄 몰랐어서 엄청 해맸었던 문제였다... 😤

 

'Engineering > Tools' 카테고리의 다른 글

[Python] logging 사용법과 클래스화  (0) 2022.03.11
[Python] 참조한 모듈이 다른 모듈을 참조할 수 없는 경우 해결 (다른 모듈 참조하기)  (0) 2022.02.18
[Python] 크롤링 방법과 비교 (requests, BeautifulSoup, selenium)  (1) 2022.02.17
터미널 종료 후에도 프로세스 실행 (feat. Selenium 작동시 유의사항)  (0) 2022.01.05
EC2에 Selenium 환경 구축하기 (feat. Chrome, Chrome Driver)  (0) 2022.01.05
'Engineering/Tools' 카테고리의 다른 글
  • [Python] logging 사용법과 클래스화
  • [Python] 참조한 모듈이 다른 모듈을 참조할 수 없는 경우 해결 (다른 모듈 참조하기)
  • [Python] 크롤링 방법과 비교 (requests, BeautifulSoup, selenium)
  • 터미널 종료 후에도 프로세스 실행 (feat. Selenium 작동시 유의사항)
AI건축가
AI건축가
LLMOps Engineer로 커리어를 쌓고 있습니다. 저만의 시점으로 AI를 해석하고자 노력합니다. 함께 배우고 성장하는 공간이 되었으면 좋겠습니다. 😊🚀
  • AI건축가
    DeepFlame AI
    AI건축가
  • 전체
    오늘
    어제
    • 분류 전체보기
      • AI
      • Ops
      • Engineering
        • Algorithm
        • CS
        • BigData
        • Tools
      • Personal
        • Toy Project
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    LeetCode
    Cloud
    db
    deepseek
    DP
    Hive
    Bio
    Ai
    PostgreSQL
    airflow
    AWS
    Python
    algorithm
    세미나
    mongoDB
    scala
    mlops
    hadoop
    ec2
    kubernetes
    MSA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
AI건축가
[MongoDB] Timezone(타임존) 문제와 해결 (feat.Python)
상단으로

티스토리툴바