file1.json
file2.json
file3.json
这些内容包含在archive.tar.gz
中。
我想从JSON文件创建一个数据帧。问题是,Spark没有正确地读取JSON文件。使用sqlContext.read.json("archive.tar.gz")
或sc.textFile("archive.tar.gz")
创建RDD会导致输出混乱/多余。
有没有办法在Spark中处理包含多个文件的gzipped存档?
更新
使用Read whole text files from a compression in Spark答案中给出的方法,我能够让事情运行起来,但是这种方法似乎不适用于大的tar.gz存档(>200 mb压缩),因为应用程序会在大型存档大小上崩溃。由于我处理的一些存档在压缩后达到了2 GB的大小,所以我想知道是否有一种有效的方法来解决这个问题。
我正在尝试避免提取存档然后将文件合并在一起,因为这将耗费时间。