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

东莞制作网站的联系方式北大荒建设集团网站

东莞制作网站的联系方式,北大荒建设集团网站,设计公司算什么企业,在百度做网站在进行大数据分析或者开发的时候#xff0c;难免用到Hive进行数据查询分析#xff0c;Hive内置很多函数#xff0c;但是会有一部分需求需要自己开发#xff0c;这个时候就需要自定义函数了#xff0c;Hive的自定义函数开发非常方便#xff0c;今天首先讲一下UDF的入门开发…在进行大数据分析或者开发的时候难免用到Hive进行数据查询分析Hive内置很多函数但是会有一部分需求需要自己开发这个时候就需要自定义函数了Hive的自定义函数开发非常方便今天首先讲一下UDF的入门开发。 UDF开发 简单实现将字符串小写化的功能。 环境版本 Hive 3.1.0.XJDK 8Maven 3.8.1 开发步骤 首先Maven创建 引入Jar包 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.hive.tutorial/groupIdartifactIdlow-str/artifactIdversion1.0.0/versionpackagingjar/packagingpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.apache.hive/groupIdartifactIdhive-exec/artifactIdversion3.1.0/version/dependencydependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-common/artifactIdversion3.1.0/version/dependency/dependencies /project编写UDF函数 package com.hive.tutorial.udf;import org.apache.hadoop.hive.ql.exec.UDFArgumentException; import org.apache.hadoop.hive.ql.metadata.HiveException; import org.apache.hadoop.hive.ql.udf.generic.GenericUDF; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory; import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector; import org.apache.hadoop.io.Text;/*** author panlf* date 2024/1/3*/ public class LowStr extends GenericUDF {StringObjectInspector stringObjectInspector;Overridepublic ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {if(arguments null || arguments.length ! 1){throw new UDFArgumentException(该方法只接受一个参数);}ObjectInspector a arguments[0];if (!(a instanceof StringObjectInspector)) {throw new UDFArgumentException(该方法的参数必须是字符串);}//检查通过后将参数赋值给成员变量ObjectInspector为了在evaluate()中使用this.stringObjectInspector (StringObjectInspector) a;//用工厂类生成用于表示返回值的ObjectInspectorreturn PrimitiveObjectInspectorFactory.javaStringObjectInspector;}Overridepublic Object evaluate(DeferredObject[] arguments) throws HiveException {String v stringObjectInspector.getPrimitiveJavaObject(arguments[0].get());return new Text(v.toLowerCase());}Overridepublic String getDisplayString(String[] children) {return 将输入的字符串小写化;} }注意很多网上资料其实是继承UDF这个类的但是这个类已过时了建议使用GenericUDF 。 GenericUDF和UDF都是Hive中的用户自定义函数但两者在处理数据类型和灵活性上有所不同。基础的UDF接口适合于简单的数据类型如文本、整数等而复杂的GenericUDF则可以处理更复杂的数据类型包括Map、List和Set。 具体来说以下是GenericUDF相对于UDF的优势 处理复杂数据类型GenericUDF不仅可以处理Hadoop和Hive的基本类型如Text、IntWritable、LongWritable、DoubleWritable等还可以处理复杂的数据结构如Array、Map、Struct等。灵活性相比于UDFGenericUDF提供了更多的灵活性。例如它可以在函数开始之前和结束之后执行一些初始化和清理操作。此外GenericUDF允许用户重载evaluate()方法使其具有更强的功能。 因此当您需要处理的数据类型比较复杂或需要进行一些特定的初始化和清理操作时建议使用GenericUDF而不是UDF。 打包 mvn clean package部署到Hive Jar上传至服务器 首先将Jar传到服务器我是传到服务器的/data/temp_data/文件夹下 HDFS将Jar传入到Hadoop 通过HDFS命令将Jar包传到Hadoop上 hdfs dfs -put /data/temp_data/low-str-1.0.0.jar /hivejar/hiveudfHive客户端操作添加Jar包 运行Hive cli进入Hive客户端 运行以下命令 hive add jar hdfs://172.23.39.9:8020/hivejar/hiveudf/low-str-1.0.0.jar;建函数 临时函数 create temporary function low_str as com.hive.tutorial.udf.LowStr; 然后即可使用 select low_str(AAAA);注意 Hive的UDF临时函数在会话结束时失效 永久函数 create function sys.low_str as com.hive.tutorial.udf.LowStr using jar hdfs://172.23.39.9:8020/hivejar/hiveudf/low-str-1.0.0.jar;注意sys.low_str 中的sys代表的是库名如果没有指定的话默认是default 销毁函数 drop function low_str;查看函数 //查看全部函数 show functions;### 查看某个函数 describe function low_str;Java中使用永久函数 我在Java的程序中调用该永久函数发生以下错误就是无法识别出注册的函数。 我通过查资料发现以下方法可解决包括且不限于 调用函数的时候是否带上了库名我第一次建立在default下面我在Hive客户端是不带default就能直接使用函数所以我以为Java程序中也能直接写但是测试发现Java程序中需要使用default.low_str使用RELOAD FUNCTIONS重刷FUNCTIONS信息重启Hive 。。。。
http://www.hkea.cn/news/14502788/

相关文章:

  • 手机模板网站模板免费下载怎样提高网站的流量
  • 郑州做网站的公司msgg建设 银行网网站
  • 上海网站建设套餐网站建设都有那些费用
  • 网站建设中的时尚资讯安徽网站备案
  • 建设返利优惠券网站宁晋网站开发搭建
  • 学做预算有网站吗华夏名网网站建设教程
  • 如何建立一家公司网站铁道部建设管理司网站
  • 网上购物有哪些网站?最好的wordpress
  • 网站建设用户体验徐州市住房建设局网站
  • 电子商务平台(网站)建设方式免费域名申请网站大全
  • 网站建设基础策划网站建设中国十强
  • 做任务的奖金网站重庆市建设工程信息网行业协会
  • 优享揭阳网站建设商务网站建设实训过程
  • 网站如何做自适应网站开发和设计如何合作
  • 医院网站和公众号建设方案wordpress loginview
  • 网站后台无法访问o2o有哪些电商平台
  • 建设什么网站挣钱用jsp和mysql做网站
  • 多个网站给一个网站推广百度竞价广告代理
  • 网站建设 博采网络 学校php cms
  • 网站的结构与布局优化网站建设方案书 5个备案
  • 奇葩网站100个卓越高职院建设网站
  • 建设银行网站查询房贷信息网页编辑哪个键
  • 网站改版如何做301网站建设解决方案服务商
  • 网站icp备案网址互联网推广品牌
  • 东莞高端品牌网站建设网址大全123上网导航
  • 网站建设需要金额默认网站停止
  • 谁能给我一个网站谢谢河南app软件开发价位
  • 哪个网站可以做兼职讲师虚拟资源交易平台Wordpress源码
  • 色弱可以做网站开发吗免费企业网站开发
  • 云南省玉溪市建设局官方网站家居网站建设行业现状