Recent Posts
Recent Comments
Link
관리 메뉴

NaggingMachine

Google AppEngine의 데이터를 export 하는 방법 본문

TechnoBabbler

Google AppEngine의 데이터를 export 하는 방법

naggingmachine 2013. 12. 10. 10:52

Google AppEngine의 데이터를 Export 하는 방법은 어렵다. 어려워도 너무 어렵다. 왜 이렇게 어렵게 만들어 놓았는지 모르겠지만, 너무 어렵다. 하지만 방법이 없지는 않다. 원한다면 다양한 방법으로 export할 수 있다


우선 구글이 추천하는 방법이 있다.

https://developers.google.com/bigquery/articles/datastoretobigquery


구글에서도 알고 있듯이 일반적인 패턴은 DataStore에 데이터를 생성한 다음, 만들어진 데이터를 분석하기 위해서 아마도 BigQuery와 같은 쿼리 기반의 데이터 저장소로 옮겨야 할 것이다. 그런데 이게 방식이 좀 어려운게 DataStore에서 스키마를 작성하는 것만으로도 곧바로 BigQuery로 넘어가면 좋으련만 그렇게 되지 않고, DataStore -> Cloud Storage -> BigQuery 이런식이다. 그러니까 DataStore에서 Cloud Storage로 export하고, BigQuery가 Cloud Storage에서 데이터를 import하는 방식이다. 여기에 추가적으로 권한 문제까지 있어서 Google API Console등에서 권한을 적절하게 설정하지 않으면(권한 설정하려면 Billing까지 등록해야 한다. ㅠㅠ), 실행되지가 않으므로 주의해야 한다.


다행히도 구글이 이를 위한 아주 간단한 툴을 제공하고 있다는 소식이다! 베타테스터로 등록하면 사용해볼 수 있다고 하는데, 나도 등록 신청을 했다

https://docs.google.com/spreadsheet/viewform?formkey=dHdpeXlmRlZCNWlYSE9BcE5jc2NYOUE6MQ


그런데 이 방법 말고 그냥 DataStore에서 Cloud Storage로 export한 다음 그걸 로컬로 불러들여와서 분석하는 방법도 있다. 하지만 이것도 간단하지는 않다.


http://gbayer.com/big-data/app-engine-datastore-how-to-efficiently-export-your-data/


여기에 추가적으로 GAE에서 생성한 로그를 export해야하는데(로그는 소중하니까), 이 방법도 여의치가 않다. log2bq라는 툴이 있다. 그런데 구글이 제공한 log2bq는 여러가지 제약 사항이 있어서 이를 개선한 오픈소스 프로젝트를 개발해봤다. l2bq(https://github.com/kevinseo/l2bq)인데 자바로 되어 있다. 하지만 전체적인 논리를 이해하는데에는 큰 무리가 없을 것이다.