Lendo vários arquivos compactados no arquivo tar.gz no Spark [duplicado]

Esta pergunta já tem uma resposta aqui:

Leia arquivos de texto inteiro de uma compactação no Spark 2 respostas

Estou tentando criar um Spark RDD a partir de vários arquivos json compactados em um alcatrão. Por exemplo, eu tenho 3 arquivos

file1.json
file2.json
file3.json

E estes estão contidos emarchive.tar.gz.

Eu quero criar um quadro de dados a partir dos arquivos json. O problema é que o Spark não está lendo os arquivos json corretamente. Criando um RDD usandosqlContext.read.json("archive.tar.gz") ousc.textFile("archive.tar.gz") resulta em saída ilegível / extra.

Existe alguma maneira de lidar com arquivos compactados em gzip contendo vários arquivos no Spark?

ATUALIZAR

Usando o método fornecido na resposta paraLeia arquivos de texto inteiro de uma compactação no Spark Consegui fazer as coisas funcionarem, mas esse método não parece ser adequado para grandes arquivos tar.gz (> 200 mb compactados), pois o aplicativo é utilizado em tamanhos grandes de arquivos. Como alguns dos arquivos que estou lidando com tamanhos de alcance até2 GB após a compactação, estou me perguntando se existe alguma maneira eficiente de lidar com o problema.

Estou tentando evitar a extração dos arquivos e a mesclagem dos arquivos, pois isso consumiria muito tempo.

questionAnswers(2)

yourAnswerToTheQuestion