如何利用hive的udf加载资源文件

如何利用hive的udf加载资源文件,第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())

}

}

2、用eclipse下的fatjar插件进行打包

先下载net.sf.fjep.fatjar_0.0.31.jar插件包,cp至eclipse/plugins目录下,重启eclipse,右击项目选Export,选择用fatjar导出(可以删掉没用的包,不然导出的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、创建一个临时函数

您好,很高兴为您解答。

1、hive-site.xml配置

<property> 

<name>hive.hwi.war.file</name> 

<value>lib/hive-hwi-0.10.0-cdh4.3.0.war</value> 

<description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. 

</description> 

</property> 

<property> 

<name>hive.hwi.listen.host</name> 

<value>0.0.0.0</value> 

<description>This is the host address the Hive Web Interface will listen 

on</description> 

</property> 

<property> 

<name>hive.hwi.listen.port</name> 

<value>9999</value> 

<description>This is the port the Hive Web Interface will listen on</description> 

</property>

2、添加jar

将一下jar包添加到hive的lib下面

jasper-compiler-5.5.23.jar

jasper-runtime-5.5.23.jar

ant.jar

ant-launcher-1.8.2.jar

tools.jar(jdk的lib包下面的jar包)

3、启动hwi服务

nohup bin/hive --service hwi > /dev/null 2> /dev/null &

4、访问界面

http://172.21.1.56:9999/hwi

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

上一篇咱们讲了通过hive映射为hbase表导数据,这儿我么再讲一下通过hive,使用hbase原生jar生成hfile再bulkload到hbase,可以做到hive解偶

本篇适用于适用于数据量较大的场景。

具体的 *** 作步骤如下:

启动hive,添加需要的jar包

创建hive表

注意:

这儿输出格式一定要为:HiveHFileOutputFormat。

/hdfs/hive_hbase/cf是生成的hfile在HDFS上的路径,其中cf为Hbase的family。

可以向hive表中插入数据,然后查看HDFS的该目录下是否有文件

通过bulkload导入到hbase

创建对应的hbase表,其中cf为family,应和上一步对应

执行bulkhead,将数据导入到hbase中


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11862762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存