Hive UDF性能太慢

时间:2014-06-25 18:53:28

标签: hive database-performance

我已经在Select query where条件中执行了带有Custom Hive UDF功能的Hive SQL脚本,它已经运行了两天以上。 我想知道这里究竟是什么问题?调用java需要花费很多时间或查询执行它需要花费很多时间吗?

我的数据集如下, 表A有200万条记录, 表B有100万条记录,

Sample Query如下

选择 **** 从             (选择 *             来自A1             A1.ds in('2014-06-11','2014-06-12')             )A1        LEFT OUTER JOIN             (选择 *             从B B1             在哪里B1.ds in('2014-06-11','2014-06-12')             )B1其中customUDF(A1.data,B1.data)

这可能是什么问题?是否有任何hive脚本profiing工具可以找到确切的时间?

1 个答案:

答案 0 :(得分:0)

假设您有权访问UDF,可以在函数中添加以下内容(sudo代码):

long start = System.currentTimeMillis();
MapredContext context = MapredContext.get();
Reporter reporter = context.getReporter();
String group = "instrumentation.udf";
String counter = "customUDF";

// function business logic

long elapsed = System.currentTimeMillis() - start;
reporter.incrCounter(group, counter, elapsed);