Я хотел бы прочитать сжатые файлы непосредственно из Google Cloud Storage и открыть их с помощью пакета csv Python. Код для локального файла будет:потоковое gzipped файлы из облачного хранилища Google
def reader(self):
print "reading local compressed file: ", self._filename
self._localfile = gzip.open(self._filename, 'rb')
csvReader = csv.reader(self._localfile, delimiter=',', quotechar='"')
return csvReader
Я играл с несколькими API, ГКС (на основе JSON, cloud.storage), но ни один из них не кажется, чтобы дать мне то, что я могу течь через Gzip. Более того, даже если файл был несжатым, я не смог открыть файл и передать его в cv.reader (тип Iterator).
Мои сжатые CSV-файлы составляют около 500 МБ, в то время как несжатые они используют до нескольких ГБ. Я не думаю, что было бы неплохо: 1 - локально загружать файлы перед их открытием (если только я не могу перекрывать загрузку и вычисление) или 2 - полностью открывать его в памяти перед вычислением.
Наконец, я выполняю этот код на своей локальной машине, но в конечном итоге я перейду в AppEngine, так что он тоже должен работать.
Спасибо!
насчет разделить файл на несколько частей? – Raito
Это уже несколько частей набора данных 1 + TB. : D Ломать это еще больше кажется ненужной идеей. Я пытаюсь предложить Алекс Мартелли. – user1066293