河图使用开源presto的UDF样例
一、环境准备
1.1 验证环境
1.2 presto-maven-plugin准备
如果使用附件中的jar包,则该1.2章节可以不执行
1. 下载插件源码
下载地址: https://github.com/prestosql/presto-maven-plugin/releases/tag/presto-maven-plugin-6
获取zip包后,本地解压缩,导入IDEA
2. 修改源码
将 ServiceDescriptorGenerator.java 的第124行中的 replace('/',',') 修改为 replace(File.separatorChar, '.')
3.打包该插件
通过IDEA右侧maven工具打包,忽略test
4.获取target目录下的 presto-maven-plugin-6.jar ,替换到maven配置的本地仓库的路径中
二、开发UDF项目
本步骤案例与开源presto做法一致,本样例中实现两个UDF,说明如下
将附件中的maven项目样例代码导入IDEA,注意 pom.xml配置
maven项目打包,获取target目录下的 udf-test-0.0.1-SNAPSHOT 目录,最终项目整体结构如下图
三、河图中部署UDF
本步骤默认认为 HutuEngine服务是正常状态,HDFS和河图客户端已经安装
3.1 客户端配置UDF文件
本步骤用于将之前创建的 `udf-test-0.0.1-SNAPSHOT`目录上传到HDFS中
1. 客户端执行安全认证
2. HDFS中创建如下路径,如有,则不需创建
hdfs dfs -mkdir -p /user/hetuserver/udf/data/externalFunctionsPlugin
3. 上传之前步骤获取的udf-test-0.0.1-SNAPSHOT目录到HDFS
hdfs dfs -put udf-test-0.0.1-SNAPSHOT /user/hetuserver/udf/data/externalFunctionsPlugin
4. 修改目录属主
hdfs dfs -chown -R hetuserver:hadoop /user/hetuserver/udf/data
3.2 重启河图服务
1. 通过hsconsole进入河图页面,删除原有presto集群
2. 重启所有hsbroker实例
3. 重新创建presto集群
四、验证UDF使用
- 点赞
- 收藏
- 关注作者
评论(0)