2012-01-06 59 views
0

家伙我是Hive的新手,对它有一些疑问。我们可以从Hive中的自定义UDF运行查询吗?

通常我们在Hive中为特定数量的列编写自定义UDF。 (考虑UDF是Java)。意味着它在该特定列上执行一些操作。

我在想,我们可以编写这样的UDF,通过它我们可以将特定的列作为某个查询的输入,并且我们可以从UDF返回该查询吗?通过将该列作为输入,它将在Hive CLI上执行?

我们可以这样做吗?如果是,请给我建议。 谢谢并对我的英语不好。

回答

2

这是不可能的,因为在Hive查询运行时,已经有一个计划已经构建并将要执行。您建议在运行时动态更改该计划,这不仅因为计划已经建好而变得很难,而且还因为Hadoop MapReduce作业已在运行。

你可以做的是让你的初始Hive查询输出新的Hive查询到一个文件,然后有一些bash/perl/python脚本通过它并制定新的Hive查询并将它们传递给CLI。

相关问题