You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@kudu.apache.org by helifu <hz...@corp.netease.com> on 2019/02/20 11:48:25 UTC

答复: Single value range partitions using the Java API

Hi,

It seems the range should be:
  [(123, 'abc'), (123, 'abc\0'))
        ^             ^
        |             |
   lower_bound    upper_bound

And the function 'incrementColumn()' here may help:
https://github.com/apache/kudu/blob/3e3bd1ccbc2b4b070c733b36b1971de63977428b/java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java#L1311


何李夫
2018-10-24 15:17:53

-----邮件原件-----
发件人: user-return-1611-hzhelifu=corp.netease.com@kudu.apache.org <us...@kudu.apache.org> 代表 Nabeelah Harris
发送时间: 2019年2月20日 18:27
收件人: user@kudu.apache.org
主题: Single value range partitions using the Java API

Hi there

Using Impala to interact with Kudu, one is able to add range partitions with single values, i.e 'VALUE = (123, “abc”)'. How would I go about creating the same type of range partition using the Java API?

When adding a new range partition, the Java API for 'AlterTableOptions.addRangePartition' expects lower and upper bound ‘PartialRow’ objects, where the upper bound must explicitly be greater than the lower bound. 

Nabeelah=


Re: Single value range partitions using the Java API

Posted by Alexey Serbin <as...@cloudera.com>.
Hi Nabeelah,

If you are looking at some hints how to deduce range partition bounds the
Impala-like way just from a single tuple, one starting point I could see is
https://github.com/apache/impala/blob/b8a8edddcb727a28c2d15bdb3533a32454364ade/fe/src/main/java/org/apache/impala/service/KuduCatalogOpExecutor.java#L178

Let me know if you need any other help with that.


HTH,

Alexey

On Wed, Feb 20, 2019 at 5:28 AM Nabeelah Harris <na...@impact.com>
wrote:

> It doesn't seem that I am able to use  'incrementColumn()' since it's not
> public. I did however go ahead and add a suffix of 'Character.MAX_VALUE' to
> the string, and now the single value range partitions are being created
> perfectly.
>
> Thank you!
>
>
>
> On Wed, Feb 20, 2019 at 1:48 PM helifu <hz...@corp.netease.com> wrote:
>
>> Hi,
>>
>> It seems the range should be:
>>   [(123, 'abc'), (123, 'abc\0'))
>>         ^             ^
>>         |             |
>>    lower_bound    upper_bound
>>
>> And the function 'incrementColumn()' here may help:
>>
>> https://github.com/apache/kudu/blob/3e3bd1ccbc2b4b070c733b36b1971de63977428b/java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java#L1311
>>
>>
>> 何李夫
>> 2018-10-24 15:17:53
>>
>> -----邮件原件-----
>> 发件人: user-return-1611-hzhelifu=corp.netease.com@kudu.apache.org
>> <us...@kudu.apache.org> 代表 Nabeelah
>> Harris
>> 发送时间: 2019年2月20日 18:27
>> 收件人: user@kudu.apache.org
>> 主题: Single value range partitions using the Java API
>>
>> Hi there
>>
>> Using Impala to interact with Kudu, one is able to add range partitions
>> with single values, i.e 'VALUE = (123, “abc”)'. How would I go about
>> creating the same type of range partition using the Java API?
>>
>> When adding a new range partition, the Java API for
>> 'AlterTableOptions.addRangePartition' expects lower and upper bound
>> ‘PartialRow’ objects, where the upper bound must explicitly be greater than
>> the lower bound.
>>
>> Nabeelah=
>>
>>
>
> --
> Nabeelah Harris
> nabeelah.harris@impact.com |
> https://impact.com
> <https://www.linkedin.com/company/impact-martech/>
> <https://www.facebook.com/ImpactMarTech/>
> <https://twitter.com/impactmartech>
> <https://www.youtube.com/c/impactmartech>
>

Re: Single value range partitions using the Java API

Posted by Nabeelah Harris <na...@impact.com>.
It doesn't seem that I am able to use  'incrementColumn()' since it's not
public. I did however go ahead and add a suffix of 'Character.MAX_VALUE' to
the string, and now the single value range partitions are being created
perfectly.

Thank you!



On Wed, Feb 20, 2019 at 1:48 PM helifu <hz...@corp.netease.com> wrote:

> Hi,
>
> It seems the range should be:
>   [(123, 'abc'), (123, 'abc\0'))
>         ^             ^
>         |             |
>    lower_bound    upper_bound
>
> And the function 'incrementColumn()' here may help:
>
> https://github.com/apache/kudu/blob/3e3bd1ccbc2b4b070c733b36b1971de63977428b/java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java#L1311
>
>
> 何李夫
> 2018-10-24 15:17:53
>
> -----邮件原件-----
> 发件人: user-return-1611-hzhelifu=corp.netease.com@kudu.apache.org
> <us...@kudu.apache.org> 代表 Nabeelah
> Harris
> 发送时间: 2019年2月20日 18:27
> 收件人: user@kudu.apache.org
> 主题: Single value range partitions using the Java API
>
> Hi there
>
> Using Impala to interact with Kudu, one is able to add range partitions
> with single values, i.e 'VALUE = (123, “abc”)'. How would I go about
> creating the same type of range partition using the Java API?
>
> When adding a new range partition, the Java API for
> 'AlterTableOptions.addRangePartition' expects lower and upper bound
> ‘PartialRow’ objects, where the upper bound must explicitly be greater than
> the lower bound.
>
> Nabeelah=
>
>

-- 
Nabeelah Harris
nabeelah.harris@impact.com |
https://impact.com
<https://www.linkedin.com/company/impact-martech/>
<https://www.facebook.com/ImpactMarTech/>
<https://twitter.com/impactmartech>
<https://www.youtube.com/c/impactmartech>