hadoop - Cassandra:原因:InvalidRequestException(原因:无效的限制)

标签 hadoop cassandra apache-pig

我对cassandra并使用1.2.10非常陌生。我有一个时间戳数据类型的主键列。现在,我正在尝试检索日期范围的数据。由于我们知道不能在cassandra中使用,因此我使用的是大于(<)和小于(>)来获取日期范围。这似乎完全可以在cassandra的cqlsh中使用。但是,通过Pig_cassandra集成,这是加载功能。
cql://<keyspace>/<columnfamily>?where_clause=time1%3E1357054841000590+and+time1%3C1357121822000430"
这是它引发的错误。

2013-12-18 04:32:51,196 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2997: Unable to recreate exception from backed error: java.lang.RuntimeException
    at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:651)
    at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.computeNext(CqlPagingRecordReader.java:352)
    at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.computeNext(CqlPagingRecordReader.java:275)
    at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
    at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
    at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader.getProgress(CqlPagingRecordReader.java:181)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.getProgress(PigRecordReader.java:169)
    at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.getProgress(MapTask.java:514)
    at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:539)
    at org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: InvalidRequestException(why:Invalid restrictions found on time1)
    at org.apache.cassandra.thrift.Cassandra$prepare_cql3_query_result.read(Cassandra.java:39567)
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
    at org.apache.cassandra.thrift.Cassandra$Client.recv_prepare_cql3_query(Cassandra.java:1625)
    at org.apache.cassandra.thrift.Cassandra$Client.prepare_cql3_query(Cassandra.java:1611)
    at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.prepareQuery(CqlPagingRecordReader.java:591)
    at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:621)
    ... 17 more

任何帮助,高度赞赏!!!

最佳答案

我们似乎通过修改cassandra源代码,进行了编译,然后将获得的jar文件添加到lib文件夹中,从而解决了该问题。

关于hadoop - Cassandra:原因:InvalidRequestException(原因:无效的限制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20638068/

相关文章:

hadoop - 为什么即使我在集群上添加节点,我的 Hadoop MapReduce 也没有运行得更快?

hadoop - 使用 SequenceFile 类写入文件

hadoop - Apache pig : Processing time taken by different operators in a PIG script

hadoop将分区分配给reducer

maven - 是否可以在没有 Cygwin 的情况下在 Windows 上以本地模式运行 Hadoop 作业(如 WordCount 示例)?

Cassandra 时间戳限制子句(timeuuid)

mysql - 数据未使用 Sqoop 从 MySql 导入到 Cassandra

Spring Boot 数据嵌入式 Cassandra

hadoop - EMR : how to include semicolon in regex argument of EXTRACT function 上的 pig

jython - 使用 Pig 和 Python