在Hive中使用UDF调试信息

时间:2012-01-13 19:03:56

标签: java hive

我正在努力让GeoIP与蜂巢一起工作。我发现了这个:http://www.jointhegrid.com/hive-udf-geo-ip-jtg/index.jsp,这似乎正是我想要的。

我构建了jar(我没有java经验,所以我只希望我做了这个部分),将它们添加到我的查询中并得到它:

hive> ADD jar hive-udf-geo-ip-jtg.jar;
Added hive-udf-geo-ip-jtg.jar to class path
Added resource: hive-udf-geo-ip-jtg.jar
hive> ADD jar geo-ip-java.jar;
Added geo-ip-java.jar to class path
Added resource: geo-ip-java.jar
hive> ADD file GeoIPCity.dat;
Added resource: GeoIPCity.dat
hive> create temporary function geoip as 'com.jointhegrid.hive.udf.GenericUDFGeoIP';
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask

有没有办法找出到底出了什么问题? return code 1并没有告诉我多少......某处有日志文件吗?

2 个答案:

答案 0 :(得分:7)

如果要查看配置单元的日志,可以使用$HIVE_HOME/bin/hive -hiveconf hive.root.logger=INFO,console。您还可以更改级别(DEBUG,INFO,WARN,ERROR或FATAL)以查看是否可以获得足够的信息。

答案 1 :(得分:0)

尝试使用以下命令执行配置单元UDF

hive --hiveconf hive.root.logger=DRFA --hiveconf hive.log.dir=./logs --hiveconf hive.log.level=DEBUG -e "query"

or

hive --hiveconf hive.root.logger=DRFA --hiveconf hive.log.dir=./logs --hiveconf hive.log.level=DEBUG -f queryscript.hql

日志将捕获到logs文件夹(当前目录)下的文件中。请确保日志文件夹存在。

尝试调整日志级别以获取正确的细节。