-
创建maven java 工程,导入jar包
<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0-cdh5.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>1.1.0-cdh5.14.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.2</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*/RSA</exclude> </excludes> </filter> </filters> </configuration> </execution> </executions> </plugin> </plugins> </build>
-
开发java类继承UDF,并重载evaluate 方法
public class 类名 extends UDF { public 返回值 evaluate(参数) { } }
-
将我们的项目打包,并上传到hive的lib目录下
-
设置函数与我们的自定义函数关联
创建临时函数 create temporary function 函数名 as '类名'; 删除临时函数 drop temporary function 函数名; 创建永久函数 create function 函数名 as '类名'; 删除永久函数 drop function 函数名;
-
使用自定义函数
select 函数名(字段);
Hadoop-Hive 自定义函数实现步骤
最新推荐文章于 2021-07-30 19:35:36 发布