[
https://issues.apache.org/jira/browse/CASSANDRA-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Russell Alexander Spitzer updated CASSANDRA-6151:
-------------------------------------------------
Description:
>From
>http://stackoverflow.com/questions/19189649/composite-key-in-cassandra-with-pig/19211546#19211546
The user was attempting to load a single partition using a where clause in a
pig load statement.
CQL Table
{code}
CREATE table data (
occurday text,
seqnumber int,
occurtimems bigint,
unique bigint,
fields map<text, text>,
primary key ((occurday, seqnumber), occurtimems, unique)
)
{code}
Pig Load statement Query
{code}
data = LOAD
'cql://ks/data?where_clause=seqnumber%3D10%20AND%20occurday%3D%272013-10-01%27'
USING CqlStorage();
{code}
This results in an exception when processed by the the CqlPagingRecordReader
which attempts to page this query even though it contains at most one partition
key. This leads to an invalid CQL statement.
CqlPagingRecordReader Query
{code}
SELECT * FROM "data" WHERE token("occurday","seqnumber") > ? AND
token("occurday","seqnumber") <= ? AND occurday='A Great Day'
AND seqnumber=1 LIMIT 1000 ALLOW FILTERING
{code}
I'm not sure it is worth the special case but, a modification to not use the
paging record reader when the entire partition key is specified would solve
this issue.
was:
>From
>http://stackoverflow.com/questions/19189649/composite-key-in-cassandra-with-pig/19211546#19211546
The user was attempting to load a single partition using a where clause in a
pig load statement.
CQL Table
{code}
CREATE table data (
occurday text,
seqnumber int,
occurtimems bigint,
unique bigint,
fields map<text, text>,
primary key ((occurday, seqnumber), occurtimems, unique)
)
{code}
Pig Load statement Query
{code}
data = LOAD
'cql://ks/data?where_clause=seqnumber%3D10%20AND%20occurday%3D%272013-10-01%27'
USING CqlStorage();
{code}
This results in an exception when processed by the the CqlPagingRecordReader
which attempts to page this query even though it contains at most one partition
key.
CqlPagingRecordReader Query
{code}
SELECT * FROM "data" WHERE token("occurday","seqnumber") > ? AND
token("occurday","seqnumber") <= ? AND occurday='A Great Day'
AND seqnumber=1 LIMIT 1000 ALLOW FILTERING
{code}
I'm not sure it is worth the special case but, a modification to not use the
paging record reader when the entire partition key is specified would solve
this issue.
> CqlPagingRecorderReader Used when Partition Key Is Explicitly Stated
> --------------------------------------------------------------------
>
> Key: CASSANDRA-6151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6151
> Project: Cassandra
> Issue Type: Bug
> Components: Hadoop
> Reporter: Russell Alexander Spitzer
> Priority: Minor
>
> From
> http://stackoverflow.com/questions/19189649/composite-key-in-cassandra-with-pig/19211546#19211546
> The user was attempting to load a single partition using a where clause in a
> pig load statement.
> CQL Table
> {code}
> CREATE table data (
> occurday text,
> seqnumber int,
> occurtimems bigint,
> unique bigint,
> fields map<text, text>,
> primary key ((occurday, seqnumber), occurtimems, unique)
> )
> {code}
> Pig Load statement Query
> {code}
> data = LOAD
> 'cql://ks/data?where_clause=seqnumber%3D10%20AND%20occurday%3D%272013-10-01%27'
> USING CqlStorage();
> {code}
> This results in an exception when processed by the the CqlPagingRecordReader
> which attempts to page this query even though it contains at most one
> partition key. This leads to an invalid CQL statement.
> CqlPagingRecordReader Query
> {code}
> SELECT * FROM "data" WHERE token("occurday","seqnumber") > ? AND
> token("occurday","seqnumber") <= ? AND occurday='A Great Day'
> AND seqnumber=1 LIMIT 1000 ALLOW FILTERING
> {code}
> I'm not sure it is worth the special case but, a modification to not use the
> paging record reader when the entire partition key is specified would solve
> this issue.
--
This message was sent by Atlassian JIRA
(v6.1#6144)