我们如何在 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?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 app.config 中为自定义部分获取智能感知?

如何在 C# 中为自定义 DataTemplateSelector 获取 DataTemplate 的 x:DataType

如何在 WooCommerce 中为自定义产品数据选项卡定义图标

如何在 JavaScript 中为自定义对象创建方法?

如何在 iOS 中为自定义属性设置动画

如何在 Angular 中为自定义组件实现伪事件?