Hive 진급 UDF 개발(Java 버 전)

8187 단어 HiveJava
자바 로 Hive UDF 를 만 드 는 방법 을 보 여 줍 니 다.
의존 도 를 높이다
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

좋은 웹페이지 즐겨찾기