티스토리 뷰

반응형

스칼라(스파크)와 자바로 몽고디비에 데이터를 넣고 조회하는 프로젝트를 수행 했었습니다.

오늘 새로운 것을 해보고 싶어서 "Python 3.7, PyCharm 2018, pymongo'를 설치하고 아래 예제를 만들어서

돌려 보았습니다. (아래 예제는 오늘 회사에서 해본 것을 블러그에 포스팅하려고 조금 변경해서 오타가 있을 수 있습니다.)


01. my_mongo.py

-------------------------

import pymongo


uri = 'mongodb://아이디:패스워드@아이피:포트/?authSource=데이터베이스명'


def get_connection():

    return pymongo.get_database('데이터베이스명')


# END OF FILE


02. test.py

-------------------------

import my_mongo


pipelines = list()

pipelines.append({'$match':{'거래일자':'/^201812/'}})

pipelines.append({'$group':{'_id':'$거래일자', '거래건수':{'$sum':1}, '거래금액':{'$sum':'상품가격'}}})

pipelines.append({'$sort':{'_id':1}})


con = get_connection()


cursor = con.주문.aggregate(pipelines, allowDiskUse:True, batchSize=100)


for doc in cursor:

    print(doc['_id'], doc['거래건수'], doc['거래금액'])


con.close()

# END OF FILE


2019년 1분기에 "SAS  <--> Django <--> MongoDB " 로 연결하는 미니 프로젝트를 수행할 생각입니다.

SAS(통계툴)에서 MongoDB로 접속하는 ODBC Driver가 있기는 한데 SQL 문법으로 하는 거라 MongoDB를 완벽하게

사용할 수가 없더군요. 반면에 R(통계툴)은 MongoDB 모듈을 설치하면 완벽하게 MongoDB 기능을 사용할 수 있었습니다.

비즈니스 로직은 웹어플리케이션(Django)에서 수행하고 해당 결과를 SAS로 전달하는 방식이 되겠습니다.

Django를 틈틈이 살펴보아야 할 것 같습니다.






반응형