IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hive的函数(入门) -> 正文阅读

[大数据]Hive的函数(入门)

1 系统自带的函数

1.1查看系统自带的函数

hive> show functions;

1.2显示自带的函数的用法

hive> desc function upper;

1.3详细详细自带的函数的用法

hive> desc function extended upper;

2 自定义函数描述?

2.1 Hive自带了一些函数,比如: max/min等,但是数量有限,自己可以通过自定义UDF来方便

?的扩展

2.2?当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)

2.3根据用户自定义函数类别分为以下三种:

3 自定义函数开发案例

3.1创建一个maven工程

3.2导入hive依赖

3.3创建一个类

  1. UDF(User-Defined-Function)
    一进一出

  2. UDAF(User-Defined Aggregation Function)
    聚集函数,多进一出
    类似于:count/max/min

  3. UDTF(User-Defined Table-Generating Functions)
    一进多出
    如lateral view explore()

  4. 官方文档地址
    HivePlugins - Apache Hive - Apache Software Foundation

  5. 编程步骤:

    1. 继承org.apache.hadoop.hive.ql.UDF
    2. 需要实现evaluate函数;evaluate函数支持重载;
  6. 注意事项

    1. UDF必须要有返回类型,可以返回null,但是返回类型不能为void;
    2. UDF中常用Text/LongWritable等类型,不推荐使用java类型;
import org.apache.hadoop.hive.ql.exec.UDF;

public class Lower extends UDF {

    public String evaluate(final String s) {

        if (s == null) {
            return null;
        }

        return s.toString().toLowerCase();
    }
}

3.4打成jar包上传到服务器/root/data/jars/udf.jar

3.5将jar包添加到hive的classpath

hive (default)> add jar /root/data/jars/udf.jar;

3.6创建临时函数与开发好的java class关联

hive (default)> create temporary function my_lower as "com.jh.day12.Lower";

3.7即可在hql中使用自定义的函数strip

hive (default)> select ename, my_lower(ename) lowername from emp;

3.8永久添加 jar 包

  • 在 hive-site.xml 文件中添加:
<property>
    <name>hive.aux.jars.path</name>
    <value>file:///root/data/jars/udf.jar</value>
</property>
  • 永久注册
    hive (default)> create function my_lower as "com.jh.day12.Lower";

3.9)删除函数

hive (default)>drop function my_lower;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:53:31  更:2021-12-13 12:53:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:44:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码