[ 
https://issues.apache.org/jira/browse/HIVE-13584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Svetozar Ivanov updated HIVE-13584:
-----------------------------------
    Description: 
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}

  was:Currently is not possible creation of HBase table via HBaseStorageHandler 
with specified pre-split strategy.


> 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)

Reply via email to