HQL 조회 에서 표현 식 으로 계 산 된 값 입 니 다. 표현 식 에 NULL 변수 가 있 으 면 전체 표현 식 은 NULL 입 니 다.예 를 들 어 sal * 12 + comm, comm 또는 sal 이 NULL 이면 표현 식 결과 도 NULL 입 니 다.함수 nvl (var, if null value) 을 사용 하여 빈 값 을 판단 하고 기본 값 을 부여 할 수 있 습 니 다.
Fetch Task(Since ver0.10.0): 이 기능 은 간단 한 조회 문 구 를 MapReduce 작업 으로 전환 하지 않 고 HDFS 를 직접 조작 할 수 있다.
set hive.fetch.task.conversion=more;
hive –hiveconf hive.fetch.task.conversion=more;
hive - site. xml 을 수정 합 니 다.
HQL 정렬:
orderby: 를 사용 하면 열, 표현 식, 별명, 열 번 호 를 따라 갈 수 있 습 니 다.
열 번 호 를 사용 하여 열 려 면: set hive. groupby. orderby. position. alias = true;
NULL 은 기본적으로 맨 앞 에 있 습 니 다.
HQL 하위 조회:
hive 는 from 과 where 자구 의 하위 조회 만 지원 합 니 다.
하위 조회 가 되 돌아 오 는 결과 집합 에 NULL 이 포함 되 어 있 으 면 NOT IN 을 사용 할 수 없고 IN 을 사용 할 수 있 습 니 다.
Hive 함수:
내장 함수
사용자 정의 함수
문자 함수:
lower
upper
lpad
rpad
수집 함수:
size
날짜 함수:
to_date
year
month
day
weekofyear
date_sub
취 합 함수:
count
sum
min
max
avg
사용자 정의 함수 (UDF: User Defined Function)
사용자 정의 클래스 는 org. apache. hadop. hive. ql. UDF 에서 계 승 됩 니 다.
evaluate 함 수 를 실현 합 니 다.
프로그램 을 목표 기계 에 포장 하 다.
hive 클 라 이언 트 에 들 어 갑 니 다: hive > add jar < jar path >;
임시 함수 만 들 기: hive > 임시 함수 만 들 기 < funcname > as < java class name >;
사용자 정의 함수 삭제: hive > drop temporary function < funcname >;
UDF 예: 사용자 정의 문자열 연결 함수:
package demo.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class ConcatString extends UDF {
public Text evaluate(Text a, Text b) {
return new Text(a.toString() + "****" + b.toString();
}
}
jar 패키지 로 포장 하여 대상 기기 에 업로드
hive>add jar < your_jar >;
hive>create temporary function myconcat as ‘demo.udf.ConcatString’;
select myconcat(‘Hello’, ‘World’)
결과: Hello * * * World
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: