河图使用开源presto的UDF样例

举报
suwei 发表于 2020/09/27 17:36:16 2020/09/27
【摘要】 在河图中可以使用和开源presto一样的自定义UDF,本文用于指导如何使用自定义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使用



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。