我正在努力让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
并没有告诉我多少......某处有日志文件吗?
答案 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文件夹(当前目录)下的文件中。请确保日志文件夹存在。
尝试调整日志级别以获取正确的细节。