Как читать содержимое файла CSV внутри zip файла с использованием искры (python)

У меня есть несколько zip файлов, содержащих два типа файлов (A.csv и B.csv)

/data/jan.zip → содержит A.csv и B.csv
/data/feb.zip → содержит A.csv и B.csv

Я хочу прочитать содержимое всех файлов A.csv во всех zip файлах, используя pyspark.

 textFile = sc.textFile("hdfs://<HDFS loc>/data/*.zip")

Может кто-нибудь сказать мне, как получить содержимое файлов A.csv в RDD?

Ответ 1

Здесь вы хотите рекурсивно прочитать все файлы csv внутри zip файлов.

val files = sc.CSVFiles("file://path/to/files/*.zip")
files.flatMap({case (name, content) =>
  unzip(content)
})

def unzip(content: String): List[String] = {
  ...
}