10
선택적 배열을 사용할 수 있는지 궁금합니다. 의 스키마과 같이 가정 해 봅시다 :avro 스키마의 선택적 배열
{
"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에서 NPE가 발생할 것없이 브로 기록을 작성하려고합니다. subrecord를 들어 는 그냥 괜찮지 만 내가 선택으로 배열을 정의 할 때 :
{"name": "simple_array",
"type":[{
"type": "array",
"items": "string"
}, "null"]
그것은 NPE하지만 런타임 예외가 발생하지 않습니다
AvroRuntimeException: Not an array schema: [{"type":"array","items":"string"},"null"]
감사합니다.
자바 목록에서 같은 문제가 발생하여 내 문제가 해결되었습니다. 감사! – forhas
동일한 오류가 발생합니다. 제 설정에서 MapReduce Java 프로그램을 사용하여 Avro 파일을 처리하려고합니다. 작업이 성공적으로 완료되었습니다. 데이터 파이프 라인의 다음 단계는 변환 된 데이터 위에 하이브 테이블 (avroSerde)을 만드는 것입니다. 테이블도 성공적으로 생성되지만 hql (테이블 맵 작업을 실행)을 사용하여 테이블을 쿼리하려고하면 작업이 실패합니다 "오류 : java.lang.RuntimeException : org.apache.hadoop.hive.ql.metadata.HiveException : 하이버 런타임 오류가 발생하여 쓰기 가능한" – venBigData