Подтвердить что ты не робот

Поддерживается ли формат gzip в Spark?

Для проекта Big Data я планирую использовать spark, в котором есть некоторые интересные функции, такие как вычисления в памяти для повторяющиеся рабочие нагрузки. Он может работать на локальных файлах или поверх HDFS.

Однако в официальной документации я не могу найти подсказки о том, как обрабатывать gzipped файлы. На практике это может быть довольно эффективно обрабатывать файлы .gz вместо распакованных файлов.

Есть ли способ вручную выполнить чтение gzipped файлов или разархивировать уже автоматически при чтении файла .gz?

4b9b3361

Ответ 1

Из руководства по программированию Spark Scala на "Hadoop Datasets":

Spark может создавать распределенные наборы данных из любого файла, хранящегося в распределенной файловой системе Hadoop (HDFS) или других системах хранения, поддерживаемых Hadoop (включая локальную файловую систему, Amazon S3, Hypertable, HBase и т.д.). Spark поддерживает текстовые файлы, SequenceFiles и любые другие Hadoop InputFormat.

Поддержка файлов ввода gzip должна работать так же, как и в Hadoop. Например, sc.textFile("myFile.gz") должен автоматически распаковывать и читать gzip-сжатые файлы (textFile() фактически реализуется с использованием Hadoop TextInputFormat, который поддерживает сжатые файлы gzip).

Как упоминалось в @nick-chammas в комментариях:

обратите внимание, что если вы sc.textFile() в gzip файле, Spark предоставит вам RDD только с одним разделом (с 0.9.0). Это связано с тем, что файлы с zzip файлами не расщепляются. Если вы не переделаете RDD каким-либо образом, любые операции над этим RDD будут ограничены одним ядром