LZO和BZip2支持文件切分
Snappy和Gzip不支持文件切分
Snappy不支持文件分割操作,文件只会被一个任务所读取,如果该压缩文件很大,那么处理该文件的Map需要花费很长时间,为了避免这种情况的发生,就需要采用支持文件分割的压缩算法,但ORC不支持这些压缩方式,所以大文件压缩不选择ORC,避免数据倾斜。
实际生产中,使用Parquet+LZO更常见,可以避免由于读取不可分割大文件引发的数据倾斜,数据量不大的情况下,使用ORC+Snappy
LZO和BZip2支持文件切分
Snappy和Gzip不支持文件切分
Snappy不支持文件分割操作,文件只会被一个任务所读取,如果该压缩文件很大,那么处理该文件的Map需要花费很长时间,为了避免这种情况的发生,就需要采用支持文件分割的压缩算法,但ORC不支持这些压缩方式,所以大文件压缩不选择ORC,避免数据倾斜。
实际生产中,使用Parquet+LZO更常见,可以避免由于读取不可分割大文件引发的数据倾斜,数据量不大的情况下,使用ORC+Snappy