Hive的UDF实现详解
Hive自身查询语言HQL能完成大部分的功能,但遇到特殊需求时,需要自己写UDF实现。以下是一个完整的案例。 1、eclipse中编写UDF ①项目中加入hive的lib下的所有jar包和Hadoop中share下hadoop-common-2.5.1.jar(Hadoop目前最新版本2.5.1)。 ②UDF类要继承org
Hive自身查询语言HQL能完成大部分的功能,但遇到特殊需求时,需要自己写UDF实现。以下是一个完整的案例。
1、eclipse中编写UDF
①项目中加入hive的lib下的所有jar包和Hadoop中share下hadoop-common-2.5.1.jar(Hadoop目前最新版本2.5.1)。②UDF类要继承org.apache.hadoop.hive.ql.exec.UDF类,类中要实现evaluate。 当我们在hive中使用自定义的UDF的时候,hive会调用类中的evaluate方法来实现特定的功能
③导出项目为jar文件。
注:项目的jdk与集群的jdk要一致。
具体例子:
<span style="font-family: Arial, Helvetica, sans-serif;">package com.zx.hive.udf; </span>
<span style="font-family: Arial, Helvetica, sans-serif;">import org.apache.hadoop.hive.ql.exec.UDF;</span>
public class UdfTestLength extends UDF{ public Integer evaluate(String s) { if(s==null) { return null; }else{ return s.length(); } } }
2、自定义函数调用过程:
①添加jar包(在hive命令行里面执行)hive> add jar /root/test-udf.jar;
②创建临时函数 ,hive命令行关闭后,即失效。
hive> create temporary function testlength as ‘com.zx.hive.udf.UdfTestLength';
③调用
hive> select id, name, testlength(name) from student;
④将查询结果保存到HDFS中
hive> create table result row format delimited fields terminated by '\t' as select id, testlength(nation) from student;

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei?

Bagaimana untuk menyemak kelayakan akademik anda di Xuexin.com

12306 Cara menyemak rekod pembelian tiket sejarah Cara menyemak rekod pembelian tiket sejarah

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei

Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci

Kuasai cara Golang mendayakan kemungkinan pembangunan permainan

Penjelasan terperinci tentang peranan dan penggunaan pengendali modulo PHP

Meneroka sempadan ejen: AgentQuest, rangka kerja penanda aras modular untuk mengukur dan meningkatkan prestasi ejen model bahasa besar secara menyeluruh
