[
https://issues.apache.org/jira/browse/HIVE-13584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Svetozar Ivanov updated HIVE-13584:
-----------------------------------
Release Note:
- This patch gives opportunity for creation of pre-splitted HBase table via
Hive. Via TBLPROPERTIES could be configured following for HBase table:
- Splits number
- Split algorithm (if is not configured by default would be used
'org.apache.hadoop.hbase.util.RegionSplitter.UniformSplit' algorithm)
- Split algorithm first row key
- Split algorithm last row key
> HBaseStorageHandler should support table pre-split
> --------------------------------------------------
>
> Key: HIVE-13584
> URL: https://issues.apache.org/jira/browse/HIVE-13584
> Project: Hive
> Issue Type: Improvement
> Components: HBase Handler
> Affects Versions: 2.0.0
> Reporter: Svetozar Ivanov
> Assignee: Svetozar Ivanov
> Labels: HBase, PreSplit
> Attachments: HIVE-13584-branch-2.0.patch, HIVE-13584.1.patch,
> HIVE-13584.2.patch, HIVE-13584.3.patch, HIVE-13584.4.patch, HIVE-13584.patch
>
>
> Currently is not possible creation of HBase table via HBaseStorageHandler
> with specified pre-split strategy.
> I use it in my code with applied patch in that way:
> {code}
> public String buildCreateTblStatement(TableDescriptor tableDescriptor) {
> StringBuilder createTableStatement = ...;
> ...
> ...
> String tblProperties = buildTblProperties(tableDescriptor);
> if (StringUtils.isNotBlank(tblProperties)) {
> createTableStatement.append(" TBLPROPERTIES (" + tblProperties +
> ")");
> }
> ...
> return createTableStatement.toString();
> }
> private static String buildTblProperties(TableDescriptor tableDescriptor) {
> ...
> ...
> if (supportsPreSplit(tableDescriptor)) {
> sb.append(", ");
> sb.append(quoteInSingleQuotes(HBaseStorageHandler.SPLITS_NUMBER));
> sb.append(" = ");
>
> sb.append(quoteInSingleQuotes(String.valueOf(tableDescriptor.getNumRegions())));
> GeneratedPKDescriptor columnDescriptor = (GeneratedPKDescriptor)
> tableDescriptor.getPkDescriptors().get(0);
> sb.append(", ");
>
> sb.append(quoteInSingleQuotes(HBaseStorageHandler.SPLIT_ALGORITHM_FIRSTROW_KEY));
> sb.append(" = ");
>
> sb.append(quoteInSingleQuotes(columnDescriptor.getPkGenerator().firstRowKey()));
> sb.append(", ");
>
> sb.append(quoteInSingleQuotes(HBaseStorageHandler.SPLIT_ALGORITHM_LASTROW_KEY));
> sb.append(" = ");
>
> sb.append(quoteInSingleQuotes(columnDescriptor.getPkGenerator().lastRowKey()));
> }
> logger.trace("TBLPROPERTIES are [{}]", sb);
> return sb.toString();
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)