Hive 진급 UDF 개발(Java 버 전)
의존 도 를 높이다
JUnit
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.13version>
<scope>testscope>
dependency>
Hive
<dependency>
<groupId>org.apache.hivegroupId>
<artifactId>hive-execartifactId>
<version>2.0.1version>
dependency>
코드 구현
단독 클 라 스 는 계승
UDF
이 필요 하고 특정한 방법evaluate
을 추가 해 야 합 니 다.입 참 은 여러 개 로 간단 한 유형 을 추천 할 수 있 습 니 다.예 를 들 어String
,Integer
.import org.apache.hadoop.hive.ql.exec.UDF;
public class UdfDemo extends UDF {
public String evaluate(int year, int month, int day) {
return String.format("%d-%02d-%02d", year, month, day);
}
}
유닛 테스트
import org.junit.Before;
import org.junit.Test;
public class UdfDemoTest {
private UdfDemo udfDemo;
@Before
public void init() {
udfDemo = new UdfDemo();
}
@Test
public void evaluate() {
System.out.println(udfDemo.evaluate(2020, 8, 20));
}
}
출력 결과
2020-08-20
포장 하 다.
mvn clean package
jar 패키지 생 성:udf-demo-1.0.jar;나중에 쓸 게 요.
SQL 에서 사용
add jar 명령 을 통 해 UDF 파일 의 경 로 를 설정 합 니 다.절대 경로 일 수도 있 고 상대 경로 일 수도 있 습 니 다.
add jar './udf-demo-1.0.jar';
create temporary function udf_demo as 'com.domain.tech.test.udf.UdfDemo';
select udf_demo(2020, 10, 1);
출력 결과
2020-10-01
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Hive 통합 ElasticSearch역할: Hive 데이터를 Es에 직접 입력 Index 를 생성합니다 Type의 매핑을 생성합니다 es-hive 관련 Jar 패키지를 다운로드하여 HDFS에 넣습니다 Hive 관련 JAR 패키지 추가 ES 외부 테이블...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.