Cassandra InvalidRequestException(why:[MyKeyspace][MyColumnFamily][6675...6c74] = [6c86......e65720]



我使用Hadoop的Cassandra进行输入和输出。在输出减少作业期间,我得到了一个错误:

2011-08-10 03:54:04,326 WARN org.apache.hadoop.mapred.Child: Error running child
java.io.IOException: InvalidRequestException(why:[MyKeyspace][MyColumnFamily][66756c6c74657874] = [6c696e6bb66e68656974207a756d.................65697465726520536f6e67746578746520] failed    validation (String didn't validate.))
at org.apache.cassandra.thrift.Cassandra$batch_mutate_result.read(Cassandra.java:19045)
at org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:1035)
at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:1009)
at   org.apache.cassandra.hadoop.ColumnFamilyRecordWriter$RangeClient.run(ColumnFamilyRecordWriter.java:285)
2011-08-10 03:54:04,339 INFO org.apache.hadoop.mapred.Task: Runnning cleanup for the task
2011-08-10 03:54:04,340 WARN org.apache.hadoop.io.UTF8: truncating long string: 267364 chars, starting with java.io.IOException:

根据日志,这不是在开始时发生的,而是在成功合并、排序和处理8981个键之后发生的。第8982次失败

已经在google和stackoverflow上搜索过了,但是没有找到

列族如下:

create column family MyColumnFamily with comparator = UTF8Type and                                                                                        
key_validation_class=UTF8Type and 
column_metadata = 
[
{column_name: column1, validation_class: UTF8Type, index_type: 0},
{column_name: column2, validation_class: UTF8Type, index_type: 0},
{column_name: column3, validation_class: UTF8Type, index_type: 0}
];

提前感谢!

这意味着其中一个列值实际上不是有效的utf8编码字符串。消息中的第一个十六进制字符串是以字节为单位的列名,第二个字符串是无法解码的字节。

相关内容

  • 没有找到相关文章

最新更新