Mongo DB는 Time zone이 UTC로 고정되어 있다.
따라서 Mongo DB에서 데이터를 불러올 때, Date 형식의 변수 값이 다를 수 있다.
필자의 경우, pymongo를 통해 데이터를 입력할 때는 정상적으로 되었으나, 추후 Spark를 통해 데이터를 읽어왔을 때 문제가 생겼다.
🤔 문제
필자는 네이버 종목토론방의 정보를 다루는 중이라서 이를 예시로 들겠다.
살펴보면 시간대가 9시간이 차이나는 것을 알 수 있다. 🤔
이러면 Date로 필터링할 때, 엄청난 혼선을 겪을 수 있다. 필자가 그랬다...
생각해보면 Pyspark에서 불러올 때 MongoDB의 시간대는 UTC이고, Pycharm 환경의 시간대는 한국(UTC+9)임으로 자동으로 9시간을 더한 것 같다.
그래서 이를 해결하기 위해서 이것저것 해보았지만, 아래 방법이 가장 나은 것 같았다.
💡 해결
해결 방법은 간단하다. datetime 모듈을 활용하여 filtering 해주는 기준에 9시간을 더 하면 된다.
해결은 간단했지만, 애초에 Mongo DB의 시간대가 다른 줄 몰랐어서 엄청 해맸었던 문제였다... 😤
'Engineering 💻 > DB' 카테고리의 다른 글
[DB] Index란 (feat. B+-Tree) (0) | 2022.02.13 |
---|---|
[PostgreSQL] Python에서 다중 행을 Insert하는 다양한 방법과 비교 (0) | 2022.02.10 |
[DB] 데이터베이스 기초 (0) | 2022.01.10 |