10
オプションの配列を持つことができるかどうかは疑問です。 のは、このようなスキーマを想定してみましょう:「simple_array」なしアブロレコードを書き込もうとしました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"
}
}
]
}
はdatafilewriterでNPEことになります。サブレコードの場合 はそれだけで大丈夫ですが、私は、オプションとして配列を定義しようとすると:
{"name": "simple_array",
"type":[{
"type": "array",
"items": "string"
}, "null"]
これは、NPEが、実行時例外にはなりません。
AvroRuntimeException: Not an array schema: [{"type":"array","items":"string"},"null"]
感謝。
Javaリストで同じ問題が発生した場合、あなたの答えは私の問題を解決しました。ありがとう! – forhas
同じエラーが発生します。私のセットアップでは、MapReduce Javaプログラムを使用してAvroファイルを処理しようとしています。仕事は成功しました。データパイプラインの次の段階は、変換されたデータ上にハイブテーブル(avroSerde)を作成することです。このテーブルも正常に作成されますが、hqlを使用してテーブルをクエリしようとすると(つまり、mapreduceジョブが実行されます) 「エラー:java.lang.RuntimeException:org.apache.hadoop.hive.ql.metadata.HiveException:ハイライン・ランタイム・エラーが書き込み可能な " – venBigData