2014-11-12 9 views
1

매우 큰 크기의 gtfs zip 파일이 있습니다. 6 개월 동안 유효하지만, 큰 데이터 크기를 낮은 리소스 (예 : 2)로로드하는 것은 경제적이지 않습니다. 메모리와 10 기가 하드 디스크의 기가) EC2 서버.gtfs를 작은 데이터로 분할합니다.

2KB (6months/3files) 유효 기간의 유효 기간이있는 3 개의 작은 gtfs zip 파일로이 큰 크기의 gtfs를 분할 할 수 있기를 바랍니다. 물론 2 개월마다 데이터를 교체해야합니다.

내가 여기 https://github.com/google/transitfeed/blob/master/merge.py을 반대 목표 병합을 달성 파이썬 프로그램 (이 BTW 아주 좋은 파이썬 프로젝트입니다.)

내가 어떤 포인터에 매우 감사드립니다을 발견했다.

Dunn.

답변

1

GTFS 피드를로드 할 때 stop_times.txt의 항목은 대개 메모리가 가장 많이 사용됩니다. 대부분의 시스템에서는 여행이 활성화 된 날짜에 trips + stop_times를 복제하지 않으므로 서비스 캘린더를 줄이면 훨씬 많은 시간을 절약 할 수 있습니다.

즉, GTFS를 슬라이싱 및 다이 싱하기위한 도구가 있습니다. 예를 들어, OneBusAway GTFS 변압기 도구를 체크 아웃 :

http://developer.onebusaway.org/modules/onebusaway-gtfs-modules/1.3.3/onebusaway-gtfs-transformer-cli.html

+0

당신의 대답은 모두 설명하고 내가 가지고있는이 문제를 해결. 캘거리시의 gtfs 데이터 조건을 감안할 때 오래된 만료 데이터를 제거하여 데이터를 더 작게 분할하고 검색에서 돌아 오는 두 개의 동일한 결과를 해결했습니다.이 경우 routes.txt는 거의 동일한 쌍 calendar.txt에서 서로 다른 기간 동안 route_id를 제외한 레코드. 미안 혼합 및 혼란을 피하기 위해 원래 질문에 언급하지 않았지만 https://groups.google.com/forum/#!topic/onebusaway-developers/fsN7D4lA1bA에 대한 전체 설명을 제공합니다. – Dung