【发布时间】:2017-01-18 17:30:08
【问题描述】:
如何在 spark 中并行读取 tar.bzip2 文件。 我创建了一个 java hadoop 自定义阅读器,它可以读取 tar.bzip2 文件,但是读取文件需要花费太多时间,因为只使用一个内核,并且在一段时间后应用程序失败,因为只有一个执行程序获取所有数据。
【问题讨论】:
-
为什么需要自定义阅读器? BZIP2 已经是一种可拆分格式,因此应该已经并行读取块
-
我有 tar.bzip2 文件。每个 tar.bzip2 文件都包含几个 json 文件。
-
正是...而且该文件类型是可拆分的
-
只是添加,我将多行 json 文件放入单个文件夹,然后将该文件夹压缩为 tar.bzip2。如果我这样做
sc.textFile("/tmp/xyz.tar.bz2")我在 RDD[String] 中得到二进制字符并且无法解析 json 记录。 -
当然,因为 JSON 被压缩在一个存档文件中。
标签: hadoop apache-spark tar bzip2