HDFS – Formato, compresión y descompresion

Compresión de archivos Parquet

val rdd = sc.parallelize( Array(1, 2, 3, 4, 5) ) // Definir RDD 
val df = rdd.toDF() //Transformar a df
df.write.mode("overwrite").format("parquet").mode("overwrite").save("hdfs:///formats/file_no_compression_parquet")
df.write.mode("overwrite").format("parquet").option("compression", "gzip").mode("overwrite").save("hdfs:///formats/file_with_gzip_parquet")
df.write.mode("overwrite").format("parquet").option("compression", "snappy").mode("overwrite").save("hdfs:///formats/file_with_snappy_parquet")

Compresión de archivos ORC

val rdd = sc.parallelize( Array(1, 2, 3, 4, 5) ) // Definir RDD 
val df = rdd.toDF() //Transformar a df
df.write.mode("overwrite").format("orc").option("compression", "none").mode("overwrite").save("hdfs:///formats/file_no_compression_orc")
df.write.mode("overwrite").format("orc").option("compression", "zlib").mode("overwrite").save("hdfs:///formats/file_with_zlib_orc")
df.write.mode("overwrite").format("orc").option("compression", "snappy").mode("overwrite").save("hdfs:///formats/file_with_snappy_orc")

Decompresión de archivos Parquet

val rdd = sqlContext.read.parquet("hdfs:///formats/file_no_compression_parquet")
rdd.collect()
val rdd = sqlContext.read.parquet("hdfs:///formats/file_with_gzip_parquet")
rdd.collect()
val rdd = sqlContext.read.parquet("hdfs:///formats/file_with_snappy_parquet")
rdd.collect()

Descompresión de archivos ORC

val rdd = sqlContext.read.orc("hdfs:///formats/file_no_compression_orc")
rdd.collect()
val rdd = sqlContext.read.orc("hdfs:///formats/file_with_zlib_orc")
rdd.collect()
val rdd = sqlContext.read.orc("hdfs:///formats/file_with_snappy_orc")
rdd.collect()

Autor: Diego Calvo