Обработка огромных видеофайлов с помощью Spark - PullRequest
0 голосов
/ 06 января 2020

В настоящее время я разрабатываю конвейер для обработки видео (около 3000 видео по 1 ГБ каждый), используя в качестве входных данных длинные видео и файлы аннотаций, относящиеся к этим видео. Процесс выглядит следующим образом:

  • Создание RDD с видео
  • Создание RDD с файлом аннотации
  • Объедините эти два RDD, чтобы связать каждое видео с их файлом аннотации
  • Токенизация видео в соответствии с инструкцией файла аннотации.

С этой мыслью я создал этот простой код в самом начале, чтобы увидеть, все было в порядке:

video = sc.binaryFiles("./myFolder/*.mp4")
video_path = video.keys()

video_path.first()

И этот код вызывает ошибку памяти при выполнении первой строки. Кажется, что Spark пытается загрузить все видео. Я ожидал, что "лень" искры помешает ему загрузить фактическое видео.

Поэтому я задавал себе различные вопросы:

  1. У вас есть какие-либо советы о том, как создать конвейер, манипулирующий большими файлами?
  2. Должен ли я создать RDD для своих видео или просто манипулировать файлом аннотации и открывать соответствующее видео, когда они мне нужны для токенизации?
  3. Должен ли я взглянуть на API "Spark Streaming" для такого рода задач?

Я действительно новичок в Spark ie, поэтому не стесняйтесь дать мне все совет по основам, который приходит на ум.

...