我们从存储在 NetCDF 文件中的一堆数据开始。从那里,编写了一些 Java 代码来从 NetCDF 文件创建序列文件。我们对代码的初衷了解不多,但是对于序列文件本身,我们已经能够了解一点。最终,我们正在尝试使用这些序列文件在 Hive 中创建表,但目前似乎无法这样做。
我们知道序列文件中的键和值存储为实现 WritableComparable 的对象。我们还能够创建 Java 代码来遍历序列文件中的所有数据。
那么,要真正让 Hive 正确读取这些序列文件的对象中的数据,需要什么?
先谢谢了!
更新:很难准确描述我在哪里遇到问题的原因是因为我不一定会遇到任何错误。Hive 只是错误地读取了序列文件。在我的序列文件上运行 Hadoop -text 命令时,我得到一个对象列表,如下所示:
NetCDFCompositeKey@263c7e3f , NetCDFRecordWritable@4d846db5
数据在这些对象本身内。所以,目前在@Tariq 的帮助下,我相信为了实际读取这些对象,我必须做的是创建一个自定义 InputFormat 来读取键和一个自定义 SerDe 来序列化和反序列化对象?