首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对象进入蜂巢的顺序文件

对象进入蜂巢的顺序文件
EN

Stack Overflow用户
提问于 2013-08-06 18:25:42
回答 1查看 2.3K关注 0票数 1

我们从存储在NetCDF文件中的一堆数据开始。然后编写了一些Java代码,以便从NetCDF文件中创建序列文件。我们对代码的最初意图不太了解,但是我们已经能够了解一些关于序列文件本身的知识。最终,我们试图使用这些序列文件在Hive中创建表,但目前似乎无法做到这一点。

我们知道序列文件中的键和值存储为实现WritableComparable的对象。我们还能够创建Java代码来迭代序列文件中的所有数据。

那么,要真正让Hive正确地读取这些序列文件的对象中的数据,需要什么呢?

感谢先进的!

更新:之所以很难准确地描述我在哪里遇到问题,是因为我不一定会遇到任何错误。Hive只是简单地不正确地读取序列文件。在我的序列文件上运行Hadoop -text命令时,我会得到这样的对象列表:

NetCDFCompositeKey@263c7e3f,NetCDFRecordWritable@4d846db5

数据在这些对象本身中。因此,目前在@Tariq的帮助下,我认为要真正读取这些对象,我必须做的是创建一个自定义InputFormat来读取键,并创建一个自定义SerDe来序列化和反序列化这些对象?

EN

Stack Overflow用户

回答已采纳

发布于 2013-08-06 20:00:59

对不起,我无法从你的问题中了解你到底在哪里面临着这个问题。如果您希望通过Hive使用SequenceFiles,只需在发出CREATE时添加存储为SEQUENCEFILE子句(很可能您已经知道这一点,没有什么新的)。在处理SequenceFiles时,Hive将SequenceFiles的每个键/值对处理得类似于普通文件中的行。重要的是钥匙会被忽略。除此之外,没什么特别的。

尽管如此,如果您希望同时读取键和值,则可能必须编写一个可以同时读取键和值的自定义InputFormat。例如,请参见此项目。它允许我们访问存储在SequenceFile的密钥中的数据。

此外,如果您的键和值是自定义类,则还需要编写一个SerDe来序列化和反序列化数据。

HTH

记者:我不知道这是不是你要找的。如果不是,请让我知道,并在你的问题上增加一些细节。我试着解决这个问题。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18087724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档