我在HDFS中有自己的文件格式,如下所示
<bytes_for_size_of_header><header_as_protobuf_bytes><bytes_for_size_of_a_record><record_as_protobuf_bytes>...
如我们所见,文件内的每条记录都使用协议缓冲区进行编码
我一直在尝试使用 hive 读取这些文件,我认为我应该创建一个输入格式,一个来自旧版本的 mapreduce API 的记录阅读器,以及一个解码 protobuf 记录的 serde。
以前有没有人这样做过,我正朝着正确的方向前进吗?任何帮助将不胜感激。
是的,你正朝着正确的方向前进。 这正是InputFormat
、RecordReader
和SerDe
摘要的目的。 你应该能够找到很多例子。