我们如何在 Hive 中为自定义 Writable 类型编写自定义 ObjectInspector?
Posted
技术标签:
【中文标题】我们如何在 Hive 中为自定义 Writable 类型编写自定义 ObjectInspector?【英文标题】:How can we write a custom ObjectInspector in Hive for a custom Writable type? 【发布时间】:2016-06-27 17:32:19 【问题描述】:我正在尝试为复杂对象类型编写自定义可写类型 - 以控制序列化和反序列化。
我想为此创建一个 ObjectInspector,我试图找出一个相同的示例。但是没有合适的例子。
【问题讨论】:
【参考方案1】:我认为您不需要为此编写自定义 ObjectInspector。您是否尝试将其实现为自定义 SerDe?查看 Cloudera 的 this blog 了解更多详情。
如果您对如何实现自定义 ObjectInspector 感到好奇,可以查看 Elephant Bird 中的 ProtobufStructObjectInspector 示例。
编辑:为后代添加了 ObjectInspector 实现的示例。
【讨论】:
感谢@Pradeep 的及时响应,实际上SerDe 在我的情况下不起作用,因为我正在尝试引入一个可供MapReduce 作业和Hive UDF 使用的自定义可写类型(WritableGeometry)。但 SerDe 用于 hive 而不是 MapReduce。 但我不确定是否应该为此创建一个 ObjectInspector。我只想确保在 GenericUDF 的 initialize() 方法中我得到了正确的 ObjectInspector。以上是关于我们如何在 Hive 中为自定义 Writable 类型编写自定义 ObjectInspector?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中为自定义 DataTemplateSelector 获取 DataTemplate 的 x:DataType