【问题标题】:Deprecated interfaces for implementing generic UDAF用于实现通用 UDAF 的已弃用接口
【发布时间】:2023-04-03 00:25:01
【问题描述】:

我想实现我自己的自定义 UDAF。 https://hive.apache.org/javadocs/r3.1.2/api/org/apache/hadoop/hive/ql/exec/UDAF.html 该文档说:

Deprecated. 
Either implement GenericUDAFResolver2 or extend AbstractGenericUDAFResolver instead.

但是这两个也都被弃用了,并且没有指定替换。 https://hive.apache.org/javadocs/r3.1.2/api/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.html

我应该使用什么接口来实现,我在这里缺少什么?

【问题讨论】:

标签: java hadoop hive


【解决方案1】:

好的,所以我深入研究了它:

UDAFResolver2 Marked as deprecated 并添加了 GenericUDAFResolver2 和 AbstractGenericUDAFResolver HIVE-287。支持 count(*) 和 count distinct 在多个列上...... John Sichi 于 2010 年 7 月 11 日提交

Marked as deprecated --> GenericUDAFResolver2 & AbstractGenericUDAFResolver HIVE-17132:添加 InterfaceAudience 和 InterfaceStability 注释…… …用于 UDF API(Sahil Takiar,由 Ashutosh Chauhan 审核) 掌握 rel/storage-release-2.8.1 … rel/release-3.0.0 @sahilTakiar sahilTakiar 于 2017 年 8 月 22 日承诺

从注释 (HIVE-17132) 中,实际上并不清楚有意添加和包含的 UDAF。事实上,当添加 UDAF 并且 Resolver2 被贬值时,我可能会认为这是一个善意的错误。似乎这种变化并没有真正深入审查。 (我真的不能确定是否有意将 UDAFS 添加到此功能,因为没有与之相关的语言。它似乎意外地与 UDF 混为一谈,这就是我认为有错误的地方。我认为它可能已经从裂缝中溜走了。)

肯定有一个错误,它没有很好地记录应该替换resolver2的内容。请花一点时间阅读链接并形成您自己的意见。值得向 hive 的开发人员列表发送一封电子邮件,看看你能从中得到什么。

我会继续使用 AbstractGenericUDAFResolver。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    相关资源
    最近更新 更多