2

有没有办法在 Spark 中有效地摄取大型(例如 50 GB)bz2 文件?我正在使用 Spark 1.6.1,8 个执行器,每个执行器具有 30 GB 的 RAM。最初,每个执行器有 4 个核心。但是,使用 textFile() 打开 bz2 文件会引发 ArrayOutOfBoundsException。正如这里所报道的(和网络上的其他线程)http://apache-spark-user-list.1001560.n3.nabble.com/java-lang-ArrayIndexOutOfBoundsException-using-sc-textFile-on-BZ2-compressed-files -td22905.html,Hadoop 使用的 bz2 解压缩器不是线程安全的,这会在 Spark 这样的多线程环境中产生问题。为了解决这个问题,我将每个执行程序的核心数设置为 1,正如上面网页中所建议的那样,但这会减慢整体计算速度。

我正在使用 Hadoop 2.4.0.2.1.1.0-390。对此有任何想法吗?

谢谢,

马可

4

0 回答 0