hive下UDF函数的使用
2016-09-08 23:49
597 查看
1、编写函数
package com.example.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public final class LowerCase extends UDF {
public Text evaluate(final Text s) {
if (s == null) { return null; }
return new Text(s.toString().toLowerCase());
}
}
package com.example.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public final class LowerCase extends UDF {
public Text evaluate(final Text s) {
if (s == null) { return null; }
return new Text(s.toString().toLowerCase());
}
}
2、用eclipse进行jar包导出
选中package 或者是java 文件夹,右击export jar
3、将导出的hiveudf.jar复制到hdfs上
hadoop fs -copyFromLocal hiveudf.jar hiveudf.jar
4、进入hive,添加jar,
add jar hdfs://localhost:9000/user/root/hiveudf.jar
5、创建函数
临时的函数
CREATE TEMPORARY FUNCTION my_lower AS ‘com.example.hive.udf.LowerCase’;
创建永久函数
CREATE FUNCTION tmp_db.json2map AS ‘brickhouse.udf.json.JsonMapUDF’ USING JAR ‘hdfs:///data/hiveudf/hivebrickhouseudf.jar’;
USING JAR 只能是hdfs路径下的jar包。
6、调用
select LowerCase(name) from teacher;
注:这种方法只能添加临时的函数,每次重新进入hive的时候都要再执行4-6,要使得这个函数永久生效,要将其注册到hive的函数列表
7、hive 查看函数
SHOW FUNCTIONS;
DESCRIBE FUNCTION ; 描述函数
DESCRIBE FUNCTION EXTENDED ; 更具体的描述函数如何使用
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-PermanentFunctions
https://cwiki.apache.org/confluence/display/Hive/HivePlugins
package com.example.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public final class LowerCase extends UDF {
public Text evaluate(final Text s) {
if (s == null) { return null; }
return new Text(s.toString().toLowerCase());
}
}
package com.example.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public final class LowerCase extends UDF {
public Text evaluate(final Text s) {
if (s == null) { return null; }
return new Text(s.toString().toLowerCase());
}
}
2、用eclipse进行jar包导出
选中package 或者是java 文件夹,右击export jar
3、将导出的hiveudf.jar复制到hdfs上
hadoop fs -copyFromLocal hiveudf.jar hiveudf.jar
4、进入hive,添加jar,
add jar hdfs://localhost:9000/user/root/hiveudf.jar
5、创建函数
临时的函数
CREATE TEMPORARY FUNCTION my_lower AS ‘com.example.hive.udf.LowerCase’;
创建永久函数
CREATE FUNCTION tmp_db.json2map AS ‘brickhouse.udf.json.JsonMapUDF’ USING JAR ‘hdfs:///data/hiveudf/hivebrickhouseudf.jar’;
USING JAR 只能是hdfs路径下的jar包。
6、调用
select LowerCase(name) from teacher;
注:这种方法只能添加临时的函数,每次重新进入hive的时候都要再执行4-6,要使得这个函数永久生效,要将其注册到hive的函数列表
7、hive 查看函数
SHOW FUNCTIONS;
DESCRIBE FUNCTION ; 描述函数
DESCRIBE FUNCTION EXTENDED ; 更具体的描述函数如何使用
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-PermanentFunctions
https://cwiki.apache.org/confluence/display/Hive/HivePlugins
相关文章推荐
- HIVE UDF函数使用
- hive中使用自定义函数(UDF)实现分析函数row_number的功能
- Hive扩展功能(三)--使用UDF函数将Hive中的数据插入MySQL中
- hive 使用udf函数实现数据导入到mysql
- hive自定义函数udf,hiveserver2的使用
- hive中使用自定义函数(UDF)实现分析函数row_number的功能
- 内置函数 & UDF函数在Hive中的使用
- hive下UDF函数的使用
- Hive udf函数的使用
- Hive中实现自定义函数UDF详细过程
- 开发hive UDF函数
- hive中UDF和UDAF使用说明
- hive中UDF和UDAF使用说明
- hive中添加自定义udf udaf udtf等函数的jar文件的三种方法
- Hive的预定义UDF函数
- hive中UDF、UDAF和UDTF使用
- Hive内部自定义函数UDF
- hive中UDF和UDAF使用说明
- Hive UDF实现函数MD5
- Hive UDF实现分析函数row_number