Hive 13.0 UDF实现类'';类路径中不存在

Hive 13.0 UDF实现类'';类路径中不存在,hive,Hive,在AmazonEMR上使用Hive13.0.1时,我遇到了奇怪的行为。 当我尝试同时使用UDF和运行运行hive-e“…”命令的外部shell脚本时,就会发生这种情况 我们一直在使用shell脚本向表中动态添加分区,在Hive0.11中从未遇到任何问题 但是,在Hive 0.13.1中,以下简化示例中断: add jar myjar; create temporary function myfunc as '...'; create external table mytable... !hive

在AmazonEMR上使用Hive13.0.1时,我遇到了奇怪的行为。 当我尝试同时使用UDF和运行运行hive-e“…”命令的外部shell脚本时,就会发生这种情况

我们一直在使用shell脚本向表中动态添加分区,在Hive0.11中从未遇到任何问题

但是,在Hive 0.13.1中,以下简化示例中断:

add jar myjar;
create temporary function myfunc as '...';
create external table mytable...
!hive -e "";
select myfunc(someCol) from mytable;
类路径中不存在UDF实现类“…”中的结果

删除shell命令(!hive-e“”)后,错误消失。 在shell和错误消失后再次添加jar和函数(只添加没有jar的函数并不能消除错误)


这是一个已知的行为还是一个bug,除了在每次使用之前重新加载jar和函数之外,我还能做些什么吗?

AFAIK-这是一直以来的方式。一个配置单元外壳无法将添加到其类路径的附加JAR传递到子外壳。当然不是函数定义

我们在Qubole中将Hive/Hadoop等作为服务提供,并且具有Hive引导的概念,用于在类似情况下捕获所有查询所需的公共语句。这被大多数用户广泛使用。(注意——我是Qubole和Hive的创始人之一——但我建议在Hive中使用Qubole而不是EMR)