Как читать большие файлы (~300 МБ) из Google Cloud Storage?

Я могу легко upload/write или Read содержимое файлов (~80 КБ) из Google Cloud Storage

Теперь мне нужно выполнить большую задачу при обслуживании больших файлов (~ 200–300 МБ):

1) Необходимо прочитать содержимое загруженного файла по частям (~ 10 КБ).

       <--Want to modify chunked data programmatically-->

2) Повторяйте шаги «1», пока поток не прочитает все содержимое файла (от начала до конца последовательно).

Я попробовал эту программу, но в ответ я получил только некоторое количество данных. Как выполнить указанную задачу?


person Amit Pal    schedule 03.09.2014    source источник


Ответы (1)


Вы не должны использовать файловый API (который устарел - см. комментарий вверху упомянутой вами страницы). Вместо этого используйте клиент GCS (упомянутый в уведомлении об устаревании). Клиент GCS позволяет вам читать непрерывно, и вы можете сериализовать состояние GcsInputChannel между запросами, пока чтение не будет завершено (если чтение дольше, чем время ожидания запроса). Вам также следует рассмотреть возможность использования библиотеки mapreduce и использовать GoogleCloudStorageLineInput для чтения файла и записи измененного файла в вашем картографе (возможно, только для карты в вашем случае).

person ozarov    schedule 04.09.2014
comment
Я пытался использовать клиент GCS, но не знаю, где указать AppEngine Application ID для размещения проекта в App-Engine? Я использую клиент GCS из-за буфера предварительной выборки: developers.google.com/ appengine/документы/java/ - person Amit Pal; 04.09.2014
comment
Я не уверен, что понимаю вопрос. У вас есть трудности с доступом к корзине из вашего приложения App Engine? - person ozarov; 06.09.2014
comment
Пожалуйста, взгляните на: stackoverflow.com/questions/25704937/ - person Amit Pal; 07.09.2014
comment
В упомянутой проблеме не говорится об идентификаторе ПРИЛОЖЕНИЯ. В любом случае ответил и другому. - person ozarov; 11.09.2014