본문 바로가기

빅데이터/하둡

pyspark에서 gzip으로 압축되어 있는 파일 읽는 방법

pyspark를 통해 다양한 파일을 읽을 수 있습니다. 보통 .text 또는 .log와 같은 확장자로 되어진 plainText를 읽기도 하지만 압축된 파일인 .gz 과 같은 파일을 읽어야할 때도 있습니다.

 

이렇게 .gz과 같이 압축된 파일을 pyspark를 통해 읽으려면 어떻게 해야할까요?

rdd = sc.textFile("data/label.gz")
print rdd.take(10)

정답은 생각보다 간단합니다. textFile method를 사용하여 .text나 .log파일을 읽듯이 그대로 입력하여 읽으면 됩니다.

 

Spark Document에 따르면 아래와 같이 나와 있습니다.

All of Spark’s file-based input methods, including textFile, support running on directories, compressed files, and wildcards as well. For example, you can use textFile("/my/directory"), textFile("/my/directory/*.txt"), and textFile("/my/directory/*.gz").

즉, compressed file이든 textFile이든 모두 file base input이 가능하며 추가적으로 wild card(*)를 사용하여 복수의 text도 읽을 수 있음이 확인됩니다.

 

http://spark.apache.org/docs/2.1.0/programming-guide.html#external-datasets

 

Spark Programming Guide - Spark 2.1.0 Documentation

Spark Programming Guide Overview At a high level, every Spark application consists of a driver program that runs the user’s main function and executes various parallel operations on a cluster. The main abstraction Spark provides is a resilient distributed

spark.apache.org

 

태그