环境介绍:CentOS7+hive-1.1.0-cdh5.7.0+IntelliJ IDEA+Maven3.3.9
1、创建工程
打开IntelliJ IDEA
File-->New-->Project...-->Maven选择Create from archetye-->org.apache.maven.archety:maven-archetype-quitkstart
2、配置
2.1、增加内容如下:
在工程中找到pom.xml文件中hadoop-common 、hive-exec 、hive-jdbc
-
<properties>
-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
-
-
<!-- hadoop、hive版本信息 -->
-
<hadoop.version>2.6.0-cdh5.7.0</hadoop.version>
-
<hive.version>1.1.0-cdh5.7.0</hive.version>
-
</properties>
-
-
-
<!-- hadoop依赖 -->
-
<dependency>
-
<groupId>org.apache.hadoop</groupId>
-
<artifactId>hadoop-common</artifactId>
-
<version>${hadoop.version}</version>
-
</dependency>
-
-
-
<!-- hive依赖 -->
-
<dependency>
-
<groupId>org.apache.hive</groupId>
-
<artifactId>hive-exec</artifactId>
-
<version>${hive.version}</version>
-
</dependency>
-
</dependencies>
-
-
<!-- cdn资源仓库 -->
-
<repositories>
-
<repository>
-
<id>cloudera</id>
-
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
-
</repository>
-
</repositories>
2.2、在<repository></repository>中修改内容如下:
-
<dependency>
-
<groupId>junit</groupId>
-
<artifactId>junit</artifactId>
-
<version>4.10</version>
-
<scope>test</scope>
-
</dependency>
3、创建类,并编写一个UDF HelloUDF.java,代码如下:
-
package org.apache.hadoop.hive.ql.udf;
-
-
-
import org.apache.hadoop.hive.ql.exec.UDF;
-
import org.apache.hadoop.io.Text;
-
-
-
public class HelloUDF extends UDF {
-
public Text evaluate(Text input) {
-
return new Text("Hello:" + input);
-
}
-
-
-
public static void main(String args[]){
-
HelloUDF helloUDF = new HelloUDF();
-
Text rs = helloUDF.evaluate(new Text("zhangsan"));
-
System.out.println(rs.toString());
-
}
-
}
4、测试UDF类,在上又键选择Run 'HelloUDF.main()'
5、打包:
在IDEA菜单中选择view-->Tool Windows-->Maven Projects,然后在Maven Projects窗口中选择【工程名】-->Lifecycle-->package,在package中右键选择Run Maven Build开始打包
执行成功后在日志中找:
[INFO] Building jar: D:\software\ruozedata_workspace\basic02-hive\target\hive-1.0.jar
若泽大数据交流群:671914634
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31511218/viewspace-2150099/
,如需转载,请注明出处,否则将追究法律责任。