में वैकल्पिक सरणी मैं सोच रहा हूं कि वैकल्पिक सरणी होना संभव है या नहीं। के इस तरह एक स्कीमा मान लेते हैं:एवरो स्कीमा
{
"type": "record",
"name": "test_avro",
"fields" : [
{"name": "test_field_1", "type": "long"},
{"name": "subrecord", "type": [{
"type": "record",
"name": "subrecord_type",
"fields":[{"name":"field_1", "type":"long"}]
},"null"]
},
{"name": "simple_array",
"type":{
"type": "array",
"items": "string"
}
}
]
}
"simple_array" datafilewriter में एक एनपीई में परिणाम होगा बिना एक एवरो रिकॉर्ड लिखने के लिए कोशिश कर रहा है। subrecord के लिए यह ठीक है, लेकिन जब मैं वैकल्पिक के रूप में सरणी परिभाषित करने की कोशिश:
{"name": "simple_array",
"type":[{
"type": "array",
"items": "string"
}, "null"]
यह एक एनपीई लेकिन एक क्रम अपवाद में परिणाम नहीं करता है:
AvroRuntimeException: Not an array schema: [{"type":"array","items":"string"},"null"]
धन्यवाद।
जावा सूचियों के साथ एक ही समस्या थी, तो आपके उत्तर ने मेरी समस्या हल कर दी है। धन्यवाद! – forhas
मुझे एक ही त्रुटि मिलती है। मेरे सेटअप में मैं MapReduce Java प्रोग्राम का उपयोग कर एवरो फ़ाइल को संसाधित करने की कोशिश कर रहा हूं। नौकरी सफलतापूर्वक थी। डेटापिपलाइन का अगला चरण ट्रांसफॉर्म किए गए डेटा पर एक हाइव टेबल (avroSerde) बनाना है, तालिका भी सफलतापूर्वक बनाई जाती है लेकिन जब मैं hql का उपयोग कर तालिका से पूछताछ करने का प्रयास करता हूं, (जिसने बदले में मैप्रिडस जॉब निष्पादित किया), तो नौकरी विफल हो जाती है "त्रुटि: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: लिखने योग्य प्रसंस्करण करते समय हाइव रनटाइम त्रुटि" – venBigData