当前位置: 首页 > news >正文

企业网站建设网站优化推广河南网站推广优化排名

企业网站建设网站优化推广,河南网站推广优化排名,西安便宜做网站的,网站建设要学哪些东西这里写目录标题 前言1. 新建项目2.配置maven依赖3.编写代码4.打jar包5.上传服务器6.代码中引用 前言 老版本编写UDF时,需要继承 org.apache.hadoop.hive.ql.exec.UDF类,然后直接实现evaluate()方法即可。 由于公司hive版本比较高(3.x&#x…

这里写目录标题

    • 前言
      • 1. 新建项目
      • 2.配置maven依赖
      • 3.编写代码
      • 4.打jar包
      • 5.上传服务器
      • 6.代码中引用

前言

老版本编写UDF时,需要继承 org.apache.hadoop.hive.ql.exec.UDF类,然后直接实现evaluate()方法即可。
由于公司hive版本比较高(3.x),这次编写UDF就采用了新的版本,继承类org.apache.hadoop.hive.ql.udf.generic.GenericUDF,实现三个方法

1. 新建项目

打开IDEA,新建一个项目,基本配置如下,Archetype选择图中所示
在这里插入图片描述

2.配置maven依赖

导入编写UDF需要用到的依赖

<dependencies><!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec --><dependency><groupId>org.apache.hive</groupId><artifactId>hive-exec</artifactId><version>3.1.2</version><exclusions><exclusion><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId></exclusion></exclusions></dependency>
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target></configuration></plugin></plugins></build>

3.编写代码

目录结构可自行定义,这块不影响实际功能,代码整体框架如下
我这里代码传入三列数据,返回一列数据,入参可以判断一下是否传入数据正确,以及数据类型是否匹配
主要实现三个方法,具体内容在代码块中有说明

  1. initialize
  2. evaluate
  3. getDisplayString
public class ComputeUnitPrice extends GenericUDF {WritableHiveDecimalObjectInspector  decimalObjectInspector;//初始化方法,做一些检查@Overridepublic ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {// 判断输入参数的个数if(arguments.length !=3){throw new UDFArgumentLengthException("This UDF Only takes 3 arguments: String, String, Decimal");}ObjectInspector param1 = arguments[0];ObjectInspector param2 = arguments[1];ObjectInspector param3 = arguments[2];// 判断输入参数的类型if(!(param1 instanceof StringObjectInspector)){throw new UDFArgumentException("Param1 Type is error,Must be : String");}if(!(param2 instanceof StringObjectInspector)){throw new UDFArgumentException("Param2 Type is error,Must be : String");}
//        if(!(param3 instanceof JavaConstantHiveDecimalObjectInspector)){
//            throw new UDFArgumentException("Param3 Type is error,Must be : JavaHiveDecimal");
//        }this.decimalObjectInspector = (WritableHiveDecimalObjectInspector ) param3;//函数返回值为 Decimal,需要返回 Decimal类型的鉴别器对象return PrimitiveObjectInspectorFactory.javaHiveDecimalObjectInspector;}
}@Overridepublic Object evaluate(DeferredObject[] arguments) throws HiveException {//计算逻辑编写}//udf的说明@Overridepublic String getDisplayString(String[] children) {return "ComputeUnitPrice";}//main方法测试一下数据结果public static void main(String[] args) throws HiveException {ComputeUnitPrice computeUnitPrice = new ComputeUnitPrice();DeferredObject[] param = {new DeferredJavaObject("箱"), new DeferredJavaObject("800g*8袋/箱"), new DeferredJavaObject(100.20)};JavaDoubleObjectInspector javaDoubleObjectInspector = PrimitiveObjectInspectorFactory.javaDoubleObjectInspector;ObjectInspector stringOi = PrimitiveObjectInspectorFactory.javaStringObjectInspector;ObjectInspector doubleOi = PrimitiveObjectInspectorFactory.javaDoubleObjectInspector;computeUnitPrice.initialize(new ObjectInspector[]{stringOi, stringOi,doubleOi});double res =  javaDoubleObjectInspector.get(computeUnitPrice.evaluate(param));System.out.println("res " + res);}

4.打jar包

将项目打成jar包

mvn clean package

执行完成,target目录下寻找自己的jar包

5.上传服务器

本地上传到机器,再由机器上传到hdfs或者s3等

6.代码中引用

add jars xxxxx/compute_sku_unit_price.jar;
create temporary function compute_sku_unit_price as 'xx.xxx.xxx.xxx.ComputeUnitPrice';
${your_sql};
http://www.hrbkazy.com/news/46707.html

相关文章:

  • 如何防止网站被镜像合肥关键词优化平台
  • 网站做的好重庆网站优化软件
  • 用sql做简单的博客网站广州seo顾问服务
  • 做展示空间设计的网站网站的优化
  • 网站关键词排名不稳定商丘网络推广哪家好
  • 网站 做内容分发资格网店推广平台有哪些
  • 苏州工业园区最新通告宁德seo公司
  • 制作一个静态网站的步骤找平台推广
  • 做那事的网站5g影讯5g天线在线观看免费视频
  • 晋江网站建设费用谷歌下载
  • 网站栏目做树形结构图seo推广公司排名
  • 做网站多少钱网络推广员的前景
  • 设计师培训班费用合肥seo排名收费
  • 做网站哪些网络公司好开发网站用什么软件
  • 微信里的小程序怎么添加seo 资料包怎么获得
  • 杭州知名建设网站设计电商运营公司
  • 湛江网站建设模板定位工厂什么建站程序最利于seo
  • 梵客家装靠谱吗沈阳网站推广优化
  • 网站广告费一般多少钱太原seo关键词优化
  • 移动网站怎么建设搜索引擎大全入口
  • 凡科网建站模板抄一则新闻四年级
  • 怎样做动漫照片下载网站淘宝营销推广方案
  • 海南旅游网站建设方式青岛网络工程优化
  • 网业分离后运营商命运上海关键词优化推荐
  • 中国做外贸最好的网站免费职业技能培训网
  • 网站开发前端与后端许昌seo推广
  • 西安网站建设方案维护网站推广的工作内容
  • 外包类设计网站公司如何做网络推广营销
  • 上海网站设计优刻网络优化师是什么工作
  • 外贸网站建设公司教程seo推广优化培训