Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Difference between CompactionCompression and compression type in HBase Column Family

Difference between CompactionCompression and compression type in HBase Column Family

Expert Contributor

What is the difference between getCompactionCompressionType and getCompressionType?

In https://hbase.apache.org/apidocs/src-html/org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html , the description look same for both APIs.

 /**
094   * @return Compression type setting.
095   */
096  Compression.Algorithm getCompactionCompressionType();
097  /**
098   * @return Compression type setting.
099   */
100  Compression.Algorithm getCompressionType();
1 REPLY 1
Highlighted

Re: Difference between CompactionCompression and compression type in HBase Column Family

Super Collaborator

Compactor calls getCompactionCompressionType() and uses it during compaction:

this.compactionCompression = (this.store.getColumnFamilyDescriptor() == null) ?
Compression.Algorithm.NONE : this.store.getColumnFamilyDescriptor().getCompactionCompressionType();

While getCompressionType() is used by the flusher - see code in DefaultStoreFlusher#flushSnapshot():

writer = store.createWriterInTmp(cellsCount,
store.getColumnFamilyDescriptor().getCompressionType(), false, true,
snapshot.isTagsPresent(), false);