创建base_analizer函数与hdfs上上传的jar包做关联
hive (gmall)> create function base_analizer as 'udf.BaseFieldUDF' using jar 'hdfs://hadoop102:9000/user/hive/jars/hivefunction-1.0-SNAPSHOT.jar';
报如下错误
Call From hadoop102/192.168.66.102 to hadoop102:9000 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
Failed to register gmall.base_analizer using class com.atguigu.udf.BaseFieldUDF
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask
错误原因
hadoop上的HDFS访问端口错误
在hadoop的安装目录的etc/hadoop下找到core-site.xml
/opt/module/hadoop-3.1.3/etc/hadoop
查看自定义的访问协议和端口号
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
将端口号9000改成8020即可以关联成功
hive (gmall)> create function base_analizer as 'udf.BaseFieldUDF' using jar 'hdfs://hadoop102:8020/user/hive/jars/hivefunction-1.0-SNAPSHOT.jar';
Added [/tmp/f57a57ee-5545-423b-acaa-3ca285b4aa78_resources/hivefunction-1.0-SNAPSHOT.jar] to class path
Added resources: [hdfs://hadoop102:8020/user/hive/jars/hivefunction-1.0-SNAPSHOT.jar]
OK
Time taken: 0.17 seconds