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

Rajeshbabu Chintaguntla updated PHOENIX-7123:
---------------------------------------------
    Description: 
Currently there is only way to create split keys by passing array of strings 
which will be leading parts of rowkey. If a table have multi-column row key or 
non varchar key application developers need to do lot of research to prepare 
the split keys according to columns types and need to dig internal details of 
how the row key formed with separators  in case of variable length columns etc. 
We can support the multi column split keys by passing array of arrays of 
identifiers so that split keys formed to by considering data types, fixed 
length or variable length values etc.

Even we can support splitting existing regions with alter kind of queries so 
that need not relay on hbase APIs to split the regions.

Example syntax:
{code:sql}
create table test(a integer not null, b varchar not null, c float, d bigint, 
constraint pk primary key(a,b)) split on ([1, 'bob'],[5, 'fan'],[7,'nob'])
{code}
Similarly for dynamic splitting existing regions we can define alter command 
also as below
{code:sql}
alter table test split on ([3, 'cob'],[4, 'end'])
{code}

  was:
Currently there is only way to create split keys by passing array of strings 
which will be leading parts of rowkey. If a table have multi-column row key or 
non varchar key application developers need to do lot of research to prepare 
the split keys according to columns types and need to dig internal details of 
how the row key formed which with separators  in case of variable length 
columns etc. We can support the multi column split keys by passing array of 
arrays of identifiers so that split keys formed to by considering data types, 
fixed length or variable length values etc.


Even we can support splitting existing regions with alter kind of queries so 
that need not relay on hbase APIs to split the regions.

Example syntax:

{code:sql}
create table test(a integer not null, b varchar not null, c float, d bigint, 
constraint pk primary key(a,b)) split on ([1, 'bob'],[5, 'fan'],[7,'nob'])
{code}

Similarly for dynamic splitting existing regions we can define alter command 
also as below

{code:sql}
alter table test split on ([3, 'cob'],[4, 'end'])
{code}



> Support for multi-column split keys
> -----------------------------------
>
>                 Key: PHOENIX-7123
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7123
>             Project: Phoenix
>          Issue Type: New Feature
>          Components: phoenix
>            Reporter: Rajeshbabu Chintaguntla
>            Priority: Major
>
> Currently there is only way to create split keys by passing array of strings 
> which will be leading parts of rowkey. If a table have multi-column row key 
> or non varchar key application developers need to do lot of research to 
> prepare the split keys according to columns types and need to dig internal 
> details of how the row key formed with separators  in case of variable length 
> columns etc. We can support the multi column split keys by passing array of 
> arrays of identifiers so that split keys formed to by considering data types, 
> fixed length or variable length values etc.
> Even we can support splitting existing regions with alter kind of queries so 
> that need not relay on hbase APIs to split the regions.
> Example syntax:
> {code:sql}
> create table test(a integer not null, b varchar not null, c float, d bigint, 
> constraint pk primary key(a,b)) split on ([1, 'bob'],[5, 'fan'],[7,'nob'])
> {code}
> Similarly for dynamic splitting existing regions we can define alter command 
> also as below
> {code:sql}
> alter table test split on ([3, 'cob'],[4, 'end'])
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to