Эффективное потребление больших файлов bz2 в Spark

Есть ли способ эффективно загружать большие (например, 50 ГБ) файлы bz2 в Spark? Я использую Spark 1.6.1, 8 исполнителей с 30 ГБ оперативной памяти каждый. Изначально у каждого исполнителя было 4 ядра. Однако открытие файлов bz2 с помощью textFile() приводит к возникновению исключения ArrayOutOfBoundsException. Как сообщается здесь (и другие темы в Интернете) http://apache-spark-user-list.1001560.n3.nabble.com/java-lang-ArrayIndexOutOfBoundsException-using-sc-textFile-on-BZ2-compressed-files-td22905.html, декомпрессор bz2, который использует Hadoop, не является потокобезопасным, что создает проблемы в многопоточной среде, такой как Spark. Чтобы обойти это, я установил число ядер на одного исполнителя равным 1, как предлагается на веб-странице выше, что, однако, замедляет общие вычисления.

Я использую Hadoop 2.4.0.2.1.1.0-390. Есть идеи по этому поводу?

Спасибо,

Marco

0 ответов

Другие вопросы по тегам