Как выполнить распаковку параллельно (pyspark) - PullRequest
1 голос
/ 18 июня 2020

У меня есть архивный tar-файл размером 13 ГБ в pyspark.

Я могу прочитать сжатый bzip-файл в RDD, и Spark разделит его на разделы, поскольку bzip2 - это формат файла с возможностью разделения. Я даже тогда вижу, что RDD содержит 400 разделов. Каждый раздел содержит несжатые сжатые данные (часть tar-файла).

Однако, учитывая, что файлы tar не разделяются (насколько я понимаю), я не могу выполнить операцию распаковки на каждом из этих 400 разделов

# The following RDD contains 400 partitions

bzipped_rdd = sc.textFile("s3a://some_bucket/file.tar.bz2")

bzipped_rdd.saveAsTextFile("data_directory")

# I would like to now perform an untar operation on each partition 

Как лучше всего это сделать?

...