You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Pariksheet Barapatre <pb...@gmail.com> on 2014/09/17 07:00:00 UTC
Phoenix Table partial key scan
Hello All,
I have created sample phoenix table as below -
CREATE TABLE TEST.PHOENIX_TEST
(
PK1 VARCHAR NOT NULL
,PK2 VARCHAR NOT NULL
,PK3 VARCHAR NOT NULL
,D.COL1 VARCHAR
,D.COL2 VARCHAR
CONSTRAINT PK PRIMARY KEY (PK1,PK2,PK3)
)
SALT_BUCKETS = 20
;
UPSERT INTO TEST.PHOENIX_TEST VALUES('12','34','45','pari','yume');
UPSERT INTO TEST.PHOENIX_TEST VALUES('3','45','45','pari','yume');
UPSERT INTO TEST.PHOENIX_TEST VALUES('4','45','45','pari4','yume');
UPSERT INTO TEST.PHOENIX_TEST VALUES('5','45','45','pari5','yume');
UPSERT INTO TEST.PHOENIX_TEST VALUES('6','45','45','pari6','yume');
I can do partial key scan through phoenix -
explain SELECT * FROM TEST.PHOENIX_TEST WHERE PK1='3';
+------------+
| PLAN |
+------------+
| CLIENT PARALLEL 632-WAY SKIP SCAN ON 20 KEYS OVER TEST.PHOENIX_TEST
[0,'3'] - [19,'3'] |
| CLIENT MERGE SORT |
I want to do same thing through HBase shell -
Full scan works -
hbase(main):025:0> scan 'TEST.PHOENIX_TEST'
ROW
COLUMN+CELL
\x036\x0045\x0045 column=D:COL1,
timestamp=1410927748527,
value=pari6
\x036\x0045\x0045 column=D:COL2,
timestamp=1410927748527,
value=yume
\x036\x0045\x0045 column=D:_0, timestamp=1410927748527,
value=
\x0A12\x0034\x0045 column=D:COL1,
timestamp=1410926036259,
value=pari
\x0A12\x0034\x0045 column=D:COL2,
timestamp=1410926036259,
value=yume
\x0A12\x0034\x0045 column=D:_0, timestamp=1410926036259,
value=
\x0A3\x0045\x0045 column=D:COL1,
timestamp=1410926714598,
value=pari
\x0A3\x0045\x0045 column=D:COL2,
timestamp=1410926714598,
value=yume
\x0A3\x0045\x0045 column=D:_0, timestamp=1410926714598,
value=
\x0B4\x0045\x0045 column=D:COL1,
timestamp=1410927745682,
value=pari4
\x0B4\x0045\x0045 column=D:COL2,
timestamp=1410927745682,
value=yume
\x0B4\x0045\x0045 column=D:_0, timestamp=1410927745682,
value=
\x0C5\x0045\x0045 column=D:COL1,
timestamp=1410927745713,
value=pari5
\x0C5\x0045\x0045 column=D:COL2,
timestamp=1410927745713,
value=yume
\x0C5\x0045\x0045 column=D:_0, timestamp=1410927745713,
value=
But partial key scan not working -
hbase(main):026:0> scan 'TEST.PHOENIX_TEST' , {STARTROW => '0' , ENDROW =>
'19'}
ROW
COLUMN+CELL
0 row(s) in 0.0150 seconds
How to run phoenix partial scan query through HBase?
Cheers,
Pari
Re: Phoenix Table partial key scan
Posted by Pariksheet Barapatre <pb...@gmail.com>.
Thanks Yeshwanth... will give a try..
On 17 September 2014 10:55, yeshwanth kumar <ye...@gmail.com> wrote:
> try the fuzzyrow filter.
>
> Cheers,
> Yeshwanth
>
>
> On Wed, Sep 17, 2014 at 10:30 AM, Pariksheet Barapatre <
> pbarapatre@gmail.com> wrote:
>
>> Hello All,
>>
>> I have created sample phoenix table as below -
>>
>> CREATE TABLE TEST.PHOENIX_TEST
>> (
>> PK1 VARCHAR NOT NULL
>> ,PK2 VARCHAR NOT NULL
>> ,PK3 VARCHAR NOT NULL
>> ,D.COL1 VARCHAR
>> ,D.COL2 VARCHAR
>> CONSTRAINT PK PRIMARY KEY (PK1,PK2,PK3)
>> )
>> SALT_BUCKETS = 20
>> ;
>>
>> UPSERT INTO TEST.PHOENIX_TEST VALUES('12','34','45','pari','yume');
>> UPSERT INTO TEST.PHOENIX_TEST VALUES('3','45','45','pari','yume');
>> UPSERT INTO TEST.PHOENIX_TEST VALUES('4','45','45','pari4','yume');
>> UPSERT INTO TEST.PHOENIX_TEST VALUES('5','45','45','pari5','yume');
>> UPSERT INTO TEST.PHOENIX_TEST VALUES('6','45','45','pari6','yume');
>>
>>
>> I can do partial key scan through phoenix -
>>
>> explain SELECT * FROM TEST.PHOENIX_TEST WHERE PK1='3';
>> +------------+
>> | PLAN |
>> +------------+
>> | CLIENT PARALLEL 632-WAY SKIP SCAN ON 20 KEYS OVER TEST.PHOENIX_TEST
>> [0,'3'] - [19,'3'] |
>> | CLIENT MERGE SORT |
>>
>>
>> I want to do same thing through HBase shell -
>>
>> Full scan works -
>>
>> hbase(main):025:0> scan 'TEST.PHOENIX_TEST'
>> ROW
>> COLUMN+CELL
>>
>> \x036\x0045\x0045 column=D:COL1,
>> timestamp=1410927748527,
>> value=pari6
>> \x036\x0045\x0045 column=D:COL2,
>> timestamp=1410927748527,
>> value=yume
>> \x036\x0045\x0045 column=D:_0,
>> timestamp=1410927748527,
>> value=
>> \x0A12\x0034\x0045 column=D:COL1,
>> timestamp=1410926036259,
>> value=pari
>> \x0A12\x0034\x0045 column=D:COL2,
>> timestamp=1410926036259,
>> value=yume
>> \x0A12\x0034\x0045 column=D:_0,
>> timestamp=1410926036259,
>> value=
>> \x0A3\x0045\x0045 column=D:COL1,
>> timestamp=1410926714598,
>> value=pari
>> \x0A3\x0045\x0045 column=D:COL2,
>> timestamp=1410926714598,
>> value=yume
>> \x0A3\x0045\x0045 column=D:_0,
>> timestamp=1410926714598,
>> value=
>> \x0B4\x0045\x0045 column=D:COL1,
>> timestamp=1410927745682,
>> value=pari4
>> \x0B4\x0045\x0045 column=D:COL2,
>> timestamp=1410927745682,
>> value=yume
>> \x0B4\x0045\x0045 column=D:_0,
>> timestamp=1410927745682,
>> value=
>> \x0C5\x0045\x0045 column=D:COL1,
>> timestamp=1410927745713,
>> value=pari5
>> \x0C5\x0045\x0045 column=D:COL2,
>> timestamp=1410927745713,
>> value=yume
>> \x0C5\x0045\x0045 column=D:_0,
>> timestamp=1410927745713,
>> value=
>>
>>
>> But partial key scan not working -
>>
>> hbase(main):026:0> scan 'TEST.PHOENIX_TEST' , {STARTROW => '0' , ENDROW
>> => '19'}
>> ROW
>> COLUMN+CELL
>>
>> 0 row(s) in 0.0150 seconds
>>
>> How to run phoenix partial scan query through HBase?
>>
>>
>>
>>
>> Cheers,
>> Pari
>>
>
>
--
Cheers,
Pari
Re: Phoenix Table partial key scan
Posted by yeshwanth kumar <ye...@gmail.com>.
try the fuzzyrow filter.
Cheers,
Yeshwanth
On Wed, Sep 17, 2014 at 10:30 AM, Pariksheet Barapatre <pbarapatre@gmail.com
> wrote:
> Hello All,
>
> I have created sample phoenix table as below -
>
> CREATE TABLE TEST.PHOENIX_TEST
> (
> PK1 VARCHAR NOT NULL
> ,PK2 VARCHAR NOT NULL
> ,PK3 VARCHAR NOT NULL
> ,D.COL1 VARCHAR
> ,D.COL2 VARCHAR
> CONSTRAINT PK PRIMARY KEY (PK1,PK2,PK3)
> )
> SALT_BUCKETS = 20
> ;
>
> UPSERT INTO TEST.PHOENIX_TEST VALUES('12','34','45','pari','yume');
> UPSERT INTO TEST.PHOENIX_TEST VALUES('3','45','45','pari','yume');
> UPSERT INTO TEST.PHOENIX_TEST VALUES('4','45','45','pari4','yume');
> UPSERT INTO TEST.PHOENIX_TEST VALUES('5','45','45','pari5','yume');
> UPSERT INTO TEST.PHOENIX_TEST VALUES('6','45','45','pari6','yume');
>
>
> I can do partial key scan through phoenix -
>
> explain SELECT * FROM TEST.PHOENIX_TEST WHERE PK1='3';
> +------------+
> | PLAN |
> +------------+
> | CLIENT PARALLEL 632-WAY SKIP SCAN ON 20 KEYS OVER TEST.PHOENIX_TEST
> [0,'3'] - [19,'3'] |
> | CLIENT MERGE SORT |
>
>
> I want to do same thing through HBase shell -
>
> Full scan works -
>
> hbase(main):025:0> scan 'TEST.PHOENIX_TEST'
> ROW
> COLUMN+CELL
>
> \x036\x0045\x0045 column=D:COL1,
> timestamp=1410927748527,
> value=pari6
> \x036\x0045\x0045 column=D:COL2,
> timestamp=1410927748527,
> value=yume
> \x036\x0045\x0045 column=D:_0, timestamp=1410927748527,
> value=
> \x0A12\x0034\x0045 column=D:COL1,
> timestamp=1410926036259,
> value=pari
> \x0A12\x0034\x0045 column=D:COL2,
> timestamp=1410926036259,
> value=yume
> \x0A12\x0034\x0045 column=D:_0, timestamp=1410926036259,
> value=
> \x0A3\x0045\x0045 column=D:COL1,
> timestamp=1410926714598,
> value=pari
> \x0A3\x0045\x0045 column=D:COL2,
> timestamp=1410926714598,
> value=yume
> \x0A3\x0045\x0045 column=D:_0, timestamp=1410926714598,
> value=
> \x0B4\x0045\x0045 column=D:COL1,
> timestamp=1410927745682,
> value=pari4
> \x0B4\x0045\x0045 column=D:COL2,
> timestamp=1410927745682,
> value=yume
> \x0B4\x0045\x0045 column=D:_0, timestamp=1410927745682,
> value=
> \x0C5\x0045\x0045 column=D:COL1,
> timestamp=1410927745713,
> value=pari5
> \x0C5\x0045\x0045 column=D:COL2,
> timestamp=1410927745713,
> value=yume
> \x0C5\x0045\x0045 column=D:_0, timestamp=1410927745713,
> value=
>
>
> But partial key scan not working -
>
> hbase(main):026:0> scan 'TEST.PHOENIX_TEST' , {STARTROW => '0' , ENDROW =>
> '19'}
> ROW
> COLUMN+CELL
>
> 0 row(s) in 0.0150 seconds
>
> How to run phoenix partial scan query through HBase?
>
>
>
>
> Cheers,
> Pari
>