2011-08-10 10 views
6

मैं हडोप के साथ कैसंद्रा का उपयोग कर रहा हूं इनपुट और आउटपुट।कैसंड्रा अमान्यRequestException (क्यों: [MyKeyspace] [MyColumnFamily] [6675 ... 6c74] = [6c86 ...... e65720] विफलता विफल रही (स्ट्रिंग मान्य नहीं है।))

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} 
]; 

अग्रिम धन्यवाद!

उत्तर

7

इसका मतलब है कि आपके कॉलम मानों में से एक वास्तव में मान्य यूटीएफ 8-एन्कोडेड स्ट्रिंग नहीं था। संदेश में पहली हेक्स स्ट्रिंग बाइट्स में कॉलम नाम है, और दूसरा बाइट है जिसे डीकोड नहीं किया जा सकता है।

+0

आपके उत्तर के लिए धन्यवाद, हम नौकरी विफल होने से पहले 4 रिट्री डालते हैं, लेकिन 2 या 3 से पुनः प्रयास करने से यह काम करता है, लेकिन अगले डेटा पर ब्लॉक करता है। क्या यह किसी भी तरह से स्मृति या ढेर से जुड़ा हुआ है? – Anton

+0

मैंने एक ही समस्या देखी थी। मैं टाइमस्टैम्प (लंबे पूर्णांक, स्ट्रिंग में कनवर्ट नहीं) को स्टोर करने का प्रयास करता हूं UTF8 टाइप टाइप कॉलम में। स्ट्रिंग में कनवर्ट करने के बाद, कोड ठीक है। – diguage

संबंधित मुद्दे