java - 确定在 Hive 中创建 UDF 的语言
问题描述
摘要:关注点与 Hive 中的 UDF 创建有关。
亲爱的朋友们,由于我是在 Hive 中创建 UDF 的新手(我已经通过 google 阅读过有关此内容,但不是很清楚),所以我在这里的第一件事是确定哪种方式可能是最好的方式,例如 Java/Python 或任何其他方式编写配置单元 UDF。
另一件事是我应该根据什么来分析?我应该寻找什么所有参数?
请注意,我几乎没有下面给出的需要编写 UDF 的函数。1.在需要“不聚合”时,选择另一个功能所需的子句分组。2.返回需要“聚合”时需要的select和group by子句。3. 对于vector_indexes 是SUM, LISTAGG 字符串,用于数据收集查询 4. 返回其他函数使用的WHERE 子句。5 以逗号分隔的字符串返回第 n 项。6. 窄数据的百分位值函数。7. 计算给定计数器名称的百分位数。除了百分位数,它还输出计算中使用的样本数、峰值和平均值。
非常感谢您,
解决方案
这个问题可能不在指导方针之内,因为您正在征求意见。
话虽如此,我会建议:
A)你选择一种你知道的语言。
B)如果您两者都知道,请根据您需要的功能进行选择。
C)考虑性能 - 我相信(但不能确定)编译的 Java Jar 将在不启动 java 运行时的情况下运行,只是为了支持该 Java 模块(它将在 hive java 实例中运行)。要运行 Python 模块,需要实例化新的 Python 解释器并通过进程间通信传输数据。因此,java 的性能可能略高一些——尤其是在算法简单的情况下。但是,除非您正在处理庞大的数据集,否则您可能甚至不会注意到。
最后,您可能可以使用 Hive 查询语言完成您要求的所有功能。
推荐阅读
- python-3.x - 使用 beautifulsoup 找出 html 中的 data-sold-out="false"
- r - Matching output of sample() with rbinom() in R?
- java - How to make a hashmap of dynamic methods in Java
- sql - 在某些字符后加逗号
- java - Gradle transitive dependency resolution issue when multiple Maven repos are defined
- sql - set value with cfif cfelse Coldfusion
- javascript - How to filter out the repeat element from JS Array?
- python - TypeError at /accounts/register/ __init__() got an unexpected keyword argument 'instance'
- java - Is it possible to change text colour of a string in Java?
- facebook - Facebook 评论 - 审核不起作用