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

南京网站网站建设学校英山做网站多少钱

南京网站网站建设学校,英山做网站多少钱,电子商务网站购物流程图,WordPress商品浏览权限在进行大数据分析或者开发的时候#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.w-s-a.com/news/229313/

相关文章:

  • 珠海网站建设网如何注册公司公众号
  • 手机网站页面制作网站怎么做快照
  • asp网站怎么仿站推广软件下载平台
  • 电子商务网站建设期末试题08答案互联网怎么做
  • 规范门户网站的建设和管理办法微信网站开发公司电话
  • 免费行情网站凡客的官网
  • 做网站运营的女生多吗海淀企业网站建设
  • 网站运行环境配置网站建设个一般需要花费多少钱
  • 广西平台网站建设报价wordpress 免费 企业 主题
  • 四川省建设厅职称查询网站辽宁省住房和城乡建设部网站
  • 公司网站后台登陆网站放到云服务器上怎么做
  • 济南 网站定制做网站购买域名
  • 代理分佣后台网站开发怎么用源码做网站视频
  • 天津网站建设招标wordpress七牛图片插件
  • 建设合同施工合同示范文本汕头市网络优化推广平台
  • 网站关键词修改老王搜索引擎入口
  • 那个网站做搬家推广比较好建设部网站办事大厅栏目
  • 做企业销售分析的网站广州网站设计建设
  • 建站流程wordpress怎么开伪静态
  • 服务器不是自己的做违法网站videopro wordpress
  • 北京建网站的公司哪个比较好网站开通告知书
  • 网站负责人 主体负责人黑龙江 建设监理协会网站
  • 手机网站焦点图代码建设工程质量检测网站
  • 墙绘做网站推广有作用没html网页制作用什么软件
  • 企业做网站有用吗网站推广的常用方法有哪些?
  • 景安做网站教程互联网小程序开发
  • 桂林北站离阳朔多远贵州省建设厅住房和城乡建设官网二建考试
  • 浙江省建设厅 网站是多少wordpress淘宝客一键
  • 网站流量少怎么做5个不好的网站
  • 随州网站建设有限公司个人申请注册公司需要多少钱