DB

Hive - HQL 함수

개발 일기92 2025. 2. 2. 16:59

1. 집계 함수 (Aggregate Functions)

함수설명

AVG(col) 주어진 컬럼의 평균을 계산
COUNT(*) 전체 행 개수를 반환
COUNT(DISTINCT col) 특정 컬럼에서 중복을 제거한 후 개수를 반환
MAX(col) 컬럼의 최대값 반환
MIN(col) 컬럼의 최소값 반환
SUM(col) 컬럼 값의 합을 반환
COLLECT_SET(col) 중복을 제거한 고유한 값들의 집합 반환
COLLECT_LIST(col) 모든 값의 리스트 반환

2. 수학 함수 (Mathematical Functions)

함수설명

ABS(x) 절댓값 반환
CEIL(x) 올림한 정수 반환
FLOOR(x) 내림한 정수 반환
ROUND(x, d) 반올림 (d는 소수점 자리수)
EXP(x) e^x 값을 반환
LN(x) 자연로그 반환
LOG10(x) 밑이 10인 로그 반환
LOG2(x) 밑이 2인 로그 반환
POW(x, y), POWER(x, y) x의 y 거듭제곱 반환
SQRT(x) 제곱근 반환
RAND() 0~1 사이의 난수 생성
SIN(x), COS(x), TAN(x) 삼각함수 반환

3. 문자열 함수 (String Functions)

함수설명

LENGTH(str) 문자열 길이 반환
LOWER(str) 소문자로 변환
UPPER(str) 대문자로 변환
TRIM(str) 앞뒤 공백 제거
LTRIM(str), RTRIM(str) 좌측/우측 공백 제거
SUBSTRING(str, start, length) 부분 문자열 반환
CONCAT(str1, str2, …) 문자열 연결
CONCAT_WS(separator, str1, str2, …) 특정 구분자로 문자열 연결
REPLACE(str, search, replace) 특정 문자열을 다른 문자열로 변경
REVERSE(str) 문자열 뒤집기
INSTR(str, substr) 특정 문자열의 시작 위치 반환
REGEXP_EXTRACT(str, pattern, index) 정규 표현식에 해당하는 부분 추출
REGEXP_REPLACE(str, pattern, replace) 정규 표현식으로 특정 문자열 치환

4. 날짜 및 시간 함수 (Date & Time Functions)

함수설명

CURRENT_DATE 현재 날짜 반환
CURRENT_TIMESTAMP 현재 타임스탬프 반환
FROM_UNIXTIME(bigint) UNIX 타임스탬프를 날짜로 변환
UNIX_TIMESTAMP() 현재 타임스탬프(초 단위) 반환
UNIX_TIMESTAMP(string, format) 특정 날짜 문자열을 UNIX 타임스탬프 변환
DATE_ADD(date, days), DATE_SUB(date, days) 날짜에서 일수를 더하거나 빼기
DATEDIFF(date1, date2) 두 날짜 간 차이(일 단위) 반환
YEAR(date), MONTH(date), DAY(date), HOUR(date), MINUTE(date), SECOND(date) 날짜의 연, 월, 일, 시, 분, 초 추출
LAST_DAY(date) 해당 월의 마지막 날짜 반환
DATE_FORMAT(date, format) 특정 형식으로 날짜 변환

5. 조건부 함수 (Conditional Functions)

함수설명

IF(condition, true_value, false_value) 조건이 참이면 true_value, 거짓이면 false_value 반환
CASE WHEN condition THEN value … ELSE default END 다중 조건 처리
COALESCE(value1, value2, …) NULL이 아닌 첫 번째 값 반환
NVL(value, default) NULL 값을 기본값으로 대체
NVL2(value, not_null_value, null_value) 값이 NULL이 아닐 때와 NULL일 때 다른 값 반환

6. 변환 함수 (Type Conversion Functions)

함수설명

CAST(value AS type) 데이터 타입 변환 (INT, STRING, DOUBLE, BIGINT 등)
CONVERT(value, type) 다른 데이터 타입으로 변환
HEX(binary) 바이너리를 16진수 문자열로 변환
UNHEX(string) 16진수 문자열을 바이너리로 변환

7. 집합 함수 (Collection Functions)

함수설명

SIZE(array) 배열의 크기 반환
MAP_KEYS(map) 맵(Map)의 키 리스트 반환
MAP_VALUES(map) 맵(Map)의 값 리스트 반환
SORT_ARRAY(array) 배열을 정렬하여 반환
ARRAY_CONTAINS(array, value) 배열에 특정 값이 포함되어 있는지 확인