河图使用开源presto的UDF样例

举报
suwei 发表于 2020/09/27 17:36:16 2020/09/27
9.5k+ 0 0
【摘要】 在河图中可以使用和开源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

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

    全部回复

    上滑加载中

    设置昵称

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

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

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