我创建了一些配置单元UDF。现在,我们正在考虑在hiveql中使用这些UDF来创建表。
创建故事xyz { FIELD1 ..
字段N } 如 { 选择 udf1() udf2() ...
UDFN() 来自abc,def)
现在,我们不确定它是否正确。根据我的理解,它将为每一行调用UDF,如果我的数据是数百万。我们可能会使用群集的所有资源。
我的理解是否正确?或者没有任何性能问题,我们可以像上面描述的那样使用它。
感谢。
答案 0 :(得分:0)
我们在生产中使用多个UDF,它们可以在群集上处理每秒100个K的行数。从某种意义上说,UDF成为蜂巢的一部分:它们就像是蜂巢一样,而且带有蜂巢的UDF也以同样的方式处理 - 例如regexp_extract()表示UDF或UDAF的总和。
性能一直很好:减速通常是(a)从hdfs加载数据或(b)UDF中调整不佳的java代码。