Victor Xu created HBASE-14061: --------------------------------- Summary: Support CF-level Storage Policy Key: HBASE-14061 URL: https://issues.apache.org/jira/browse/HBASE-14061 Project: HBase Issue Type: Improvement Components: HFile, regionserver Environment: hadoop-2.6.0 Reporter: Victor Xu
After reading [HBASE-12848|https://issues.apache.org/jira/browse/HBASE-12848] and [HBASE-12934|https://issues.apache.org/jira/browse/HBASE-12934], I wrote a patch to implement cf-level storage policy. My main purpose is to improve random-read performance for some really hot data, which usually locates in certain column family of a big table. Usage: $ hbase shell > alter 'TABLE_NAME', METADATA => {'hbase.hstore.block.storage.policy' => > 'POLICY_NAME'} > alter 'TABLE_NAME', {NAME=>'CF_NAME', METADATA => > {'hbase.hstore.block.storage.policy' => 'POLICY_NAME'}} HDFS's setStoragePolicy can only take effect when new hfile is created in a configured directory, so I had to make sub directories(for each cf) in region's .tmp directory and set storage policy for them. Besides, I had to upgrade hadoop version to 2.6.0 because dfs.getStoragePolicy cannot be easily written in reflection, and I needed this api to finish my unit test. -- This message was sent by Atlassian JIRA (v6.3.4#6332)