`
mozhenghua
  • 浏览: 319171 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hive udf 使用示例

    博客分类:
  • hive
阅读更多

 在使用过程中,在执行sql的过程中需要将partition按照一定的规则动态分区:

import org.apache.hadoop.hive.ql.exec.UDF;
public class SharedRouter extends UDF {
	private static SolrCloudPainRouter cloudPainRouter;

	public String evaluate(final String shardValue
, final String collection, final String runtime) {
		return getRouter(collection, runtime).getShardIndex(shardValue);
	}

	private SolrCloudPainRouter getRouter(String collection, String runtime) {

		// 构建cloudPainRouter
		return cloudPainRouter;

	}
}

 

 

创建临时函数:

create temporary function tisshare as 'com.dfire.tis.dump.hive.SharedRouter';
 

在hive中调用udf测试:

select tisshare('hello','search4totalpay','daily');
函数说明,此函数一共三个参数,说明如下:
  • 参数1:某列属性
  • 参数2:对应分区tis中的某个索引名称
  • 参数3:运行环境,日常使用‘daily’,线上生产环境'online'

这个udf执行的时候需要依赖一些jar包,所以在启动hive时,需要将jar添加到classpath中去:

hive 启动

hive --auxpath /root/standalone/commons-io-2.3.jar,/root/standalone/commons-logging-1.2.jar,/root/standalone/fastjson-1.1.41.jar,/root/standalone/global-diamond-config-1.0.3-SNAPSHOT.jar,/root/standalone/hive-exec-1.1.0.jar,/root/standalone/noggit-0.6.jar,/root/standalone/slf4j-api-1.7.5.jar,/root/standalone/solr-solrj-5.3.0.jar,/root/standalone/spring-2.5.6.jar,/root/standalone/terminator-manage-pojo-1.0.3-SNAPSHOT.jar,/root/standalone/tis-client-standalone-1.0.3-SNAPSHOT.jar,/root/standalone/tis-solrj-client-1.0.3-SNAPSHOT.jar,/root/standalone/zookeeper-3.4.5.jar

在hive脚本中使用例子

ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/commons-io-2.3.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/commons-logging-1.2.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/fastjson-1.1.41.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/global-diamond-config.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/hive-exec-1.1.0.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/noggit-0.6.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/slf4j-api-1.7.5.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/solr-solrj-5.3.0.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/spring-2.5.6.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/terminator-manage-pojo-1.0.3-SNAPSHOT.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/tis-client-standalone-1.0.3-SNAPSHOT.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/tis-solrj-client-1.0.3-SNAPSHOT.jar;
ADD jar hdfs://cluster-cdh/zeus/hdfs-upload-dir/jar/zookeeper-3.4.5.jar;
CREATE TEMPORARY FUNCTION tisshare as 'com.dfire.tis.dump.hive.SharedRouter';


select tisshare('123','search4totalpay','online') 
 

 

 

分享到:
评论

相关推荐

    大数据 java hive udf函数的示例代码(手机号码脱敏)

    主要介绍了大数据 java hive udf函数(手机号码脱敏),的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    spark-hive-udf:Spark Hive UDF示例

    Spark Hive UDF示例 建立项目 mvn clean package 将spark-hive-udf-1.0.0-SNAPSHOT.jar复制到边缘节点临时目录 spark-hive-udf]# cp target/spark-hive-udf-1.0.0-SNAPSHOT.jar /tmp 通过提供罐子来启动火花壳 spark...

    javasql笔试题-spark-hive-udf:展示如何在ApacheSpark中使用HiveUDF的示例项目

    sql笔试题示例 Hive UDF 项目 介绍 该项目只是一个示例,包含多个 (UDF),用于 Apache Spark。 它旨在演示如何在 Scala 或 Java 中构建 Hive UDF 并在 . 为什么要使用 Hive UDF? Hive UDF 的一个特别好的用途是与 ...

    java6string源码-jet-hive-udf:有用的hiveudf函数,包含日期计算,ip,useragent解析函数,加密解密等

    jet-hive-udf 简介 jet-hive-udf 包含了一些有用的hive udf函数,包含日期计算,ip,useragent解析函数,加密解密等. 注意: jet-hive-udf支持hive-0.11.0或更高版本. 其中useragent解析需要使用到java8+,其他需要java...

    HiveUDF:蜂巢样本UDF

    HiveUDF 此Hive UDF示例代码包含2个函数:MyUpper()和MyContains() 它们在Hive 0.12、0.13和1.0中进行了测试。 要使Hive UDF在Drill中工作,请关注以下博客:一种。 如何制作罐子mvn package ## b。 准备一个带...

    ExclaimUDF:适用于Apache Hive的最简单可想象的UDF

    Hive UDF项目示例。 使用Apache Maven构建UDF: mvn clean package 将UDF与Apache Hive一起使用: [randy@dev-edge ExclaimUDF]$ hive 15/06/22 15:05:25 WARN conf.HiveConf: HiveConf of name hive.server2....

    ip-seeker:ipip数据库解析程序(包含RPC调用查询代码和示例;HIVE UDF模块;从官网下载数据库的脚本)

    IPIP.net的datx格式IP数据库解析程序,包括对地市IP库和县区IP库的解析一、UDF调用:1、地市IP库解析的UDF使用类 ...add jar hdfs://moowei/user/learning_test/hive_db/udf_blw/original-ip-seeker-1.0-SNAPSHOT.jar;...

    分布式数据仓库Hive大全

    6. HIVE UDF 33 6.1 基本函数 33 6.1.1 关系操作符 33 6.1.2 代数操作符 34 6.1.3 逻辑操作符 35 6.1.4 复杂类型操作符 35 6.1.5 内建函数 36 6.1.6 数学函数 36 6.1.7 集合函数 36 6.1.8 类型转换 36 6.1.9 日期...

    Hive用户指南

    6. HIVE UDF 33 6.1 基本函数 33 6.1.1 关系操作符 33 6.1.2 代数操作符 34 6.1.3 逻辑操作符 35 6.1.4 复杂类型操作符 35 6.1.5 内建函数 36 6.1.6 数学函数 36 6.1.7 集合函数 36 6.1.8 类型转换 36 6.1.9 日期...

    GeoUDF:用于纬度、经度到美国州的 Hive 插件

    地理UDF 用于纬度、经度到美国州的 Hive 插件。 示例用法 add jar hdfs: /// user / cloudrea / GeoUDF . jar ; CREATE TEMPORARY FUNCTION geoCode as ' geoudf.StateFromXY ' ; select geoCode( - 120 . 32 , 43...

    Hive-JSON-Array-UDF:一个UDF从嵌套的JSON数组中检索元素,并作为HiveQL数组返回

    Hive嵌套JSON Arrray UDF 此UDF接收“ JSON字符串”和JSON数组的路径,并收集此路径指定的所有元素(也处理嵌套的JSON数组)。 例子: 假设此JSON在某些表的行中: {" request " : {" user " : " Mario " ," ...

    java数组笔试题-transport:用于编写可在各种引擎(包括ApacheSpark、ApacheHive和Presto)之间移植的高性能

    java数组笔试题 传输 UDF Transport是一个用于编写高性能用户定义函数 (UDF) 的框架,这些函数可在各种...此示例显示了如何使用传输 API 编写可移植 UDF。 public class MapFromTwoArraysFunction extends StdUDF2<

    Hadoop权威指南(中文版)2015上传.rar

    一个导入的例子 生成代码 其他序列化系统 深入了解数据库导入 导入控制 导入和一致性 直接模式导入 使用导入的数据 导入的数据与Hive 导入大对象 执行导出 深入了解导出 导出与事务 导出和SequenceFile 第16章 实例...

    Hadoop权威指南 第二版(中文版)

     一个导入的例子  生成代码  其他序列化系统  深入了解数据库导入  导入控制  导入和一致性  直接模式导入  使用导入的数据  导入的数据与Hive  导入大对象  执行导出  深入了解导出  导出与事务  ...

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    技术点26 在HDFS、MapReduce、Pig 和Hive 中使用数据压缩 技术点27 在MapReduce、Hive 和Pig 中处理可分割的LZOP 5.3 本章小结 6 诊断和优化性能问题 6.1 衡量MapReduce 和你的环境 6.1.1 提取作业统计...

    Hadoop实战(第2版)

    10.2.1 序列化和反序列化技术点64 载入日志文件10.2.2 UDF、分区、分桶和压缩技术点65 编写UDF 和压缩分区表10.2.3 数据合并技术点66 优化Hive 合并10.2.4 分组、排序和explain 10.3 本章小结11 ...

    Hadoop实战(陆嘉恒)译

    用Pig编程10.1 像Pig 一样思考10.1.1 数据流语言10.1.2 数据类型10.1.3 用户定义...使用UDF10.6.2 编写UDF10.7 脚本10.7.1 注释10.7.2 参数替换10.7.3 多查询执行10.8 Pig 实战——计算相似专利的例子10.9 小结第11 章...

    HadoopSpringBatch

    Pig / Hive / Spark脚本或通用Shell命令的工作流程。 参数管理。 顺序或并行脚本执行。 轻松设置Java / Python UDF。 要求 要构建项目,您将需要安装以下软件: Java Gradle 要运行示例工作流程,您需要在Hadoop...

    Hadoop实战中文版

    10.5.3 关系型运算符 10.5.4 执行优化 10.6 用户定义函数 10.6.1 使用UDF 10.6.2 编写UDF 10.7 脚本 10.7.1 注释 10.7.2 参数替换 10.7.3 多查询执行 10.8 Pig 实战——计算相似专利的例子 10.9 小结 第...

    Hadoop实战

    18910.5.4 执行优化 19610.6 用户定义函数 19610.6.1 使用UDF 19610.6.2 编写UDF 19710.7 脚本 19910.7.1 注释 19910.7.2 参数替换 20010.7.3 多查询执行 20110.8 Pig实战——计算相似专利的例子 20110.9 小结 206第...

Global site tag (gtag.js) - Google Analytics