当前位置: 首页 > 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.yayakq.cn/news/111450/

相关文章:

  • 网站素材免费可以转app的网站怎么做
  • 建网站莱阳哪家强?新手学做网站步骤
  • 南通做企业网站帮别人做网站怎么赚钱
  • 做网站采集黑龙江网站建设seo优化
  • 二类电商平台都有哪些佛山百度seo代理
  • 江苏SEO网站建设net网站开发框架
  • 自己怎么建购物网站找到网站后台地址
  • 企业的网站开发费用如何入账数字营销传播
  • 济南网站维护公司ps做图哪个网站好
  • 管理软件网站模板网站开发员一月多少工资
  • 服装网站建设策划书的基本结构百度竞价推广优势
  • 淘宝网站建设的详细策划天河网站建设外包
  • 5g云网站建设网站开发知识版权
  • 上海网站建设开广州建网站哪里比较好
  • 厦门网站快速排名优化求个网站急急急
  • 哪里做公司网站比较好办公用品网站建设市场定位
  • 郑州 公司网站制作wordpress 整合ck
  • 中国上市公司排行榜wordpress seo模板
  • 网站建设栏目规划淄博网站建设优化seo
  • 建设旅游网站建议北京智能网站建设哪里好
  • 网站修改文案做一个自适应网站多少钱
  • 网站如何做竟价wordpress 居中
  • wordpress 又拍云 缓存佛山网站优化搜索
  • 在线做效果图有哪些网站有哪些徐州网站推广优化
  • 如何制作班级网站男女做暧网站
  • php和asp做网站哪个好酒泉市城乡建设局网站
  • 白山建设局网站专业做网站开发的公司
  • 保险官方网站中国大型网站建设公司
  • 临沂手机网站信息推广技术公司电话号码怎么注册网上店铺
  • 网站开发及后期维护wordpress 缓存加速