Чтение ZIP-файлов с использованием Spark или AWS Services - PullRequest
1 голос
/ 08 июня 2019

Мне нужно прочитать сжатый файл, который загружен на s3.

Функциональность: когда любой файл загружен на s3, запускается лямбда, которая запускает искровое задание.

Где мне прочитать файл, в AWS Lambda или через Apache Spark? какой из них будет полезным? Как мне прочитать сжатые файлы в спарк?

1 Ответ

0 голосов
/ 08 июня 2019

Вы задаете несколько вопросов.Поэтому я стараюсь ответить на каждый ваш вопрос.

Где мне нужно прочитать: через лямбду или через искру, какой из них будет полезен?

Вы можете позволитьS3 триггер лямбда и лямбда триггер EMR искры.

Вот много примеров для вас

Как читать сжатые файлы в spark?

Во-первых, какой тип сжатого файла?Spark и Hadoop поддерживают следующий сжатый тип

name    | ext      | codec class
-------------------------------------------------------------
bzip2   | .bz2     | org.apache.hadoop.io.compress.BZip2Codec 
default | .deflate | org.apache.hadoop.io.compress.DefaultCodec 
deflate | .deflate | org.apache.hadoop.io.compress.DeflateCodec 
gzip    | .gz      | org.apache.hadoop.io.compress.GzipCodec 
lz4     | .lz4     | org.apache.hadoop.io.compress.Lz4Codec 
snappy  | .snappy  | org.apache.hadoop.io.compress.SnappyCodec

Если ваш сжатый тип поддерживается, вы можете читать сжатые файлы, используя следующий пример кода.

rdd = sc.textFile("s3://bucket/project/logfilexxxxx.*.gz")

...