Hive-내장 함수
이 장에서는 Hive에서 사용할 수있는 내장 기능에 대해 설명합니다. 함수는 사용법을 제외하면 SQL 함수와 매우 유사합니다.
내장 기능
Hive는 다음과 같은 내장 기능을 지원합니다.
반환 유형 | 서명 | 기술 |
---|---|---|
BIGINT | 원형 (더블 a) | double의 반올림 된 BIGINT 값을 반환합니다. |
BIGINT | 층 (더블 A) | double보다 작거나 같은 최대 BIGINT 값을 반환합니다. |
BIGINT | ceil (더블 a) | double보다 크거나 같은 최소 BIGINT 값을 반환합니다. |
더블 | rand (), rand (int 시드) | 행에서 행으로 변경되는 난수를 반환합니다. |
끈 | concat (문자열 A, 문자열 B, ...) | A 다음에 B를 연결 한 결과 문자열을 반환합니다. |
끈 | substr (문자열 A, int 시작) | 시작 위치에서 시작하여 문자열 A의 끝까지 A의 하위 문자열을 반환합니다. |
끈 | substr (문자열 A, int 시작, int 길이) | 주어진 길이로 시작 위치에서 시작하는 A의 하위 문자열을 반환합니다. |
끈 | 어퍼 (문자열 A) | A의 모든 문자를 대문자로 변환 한 결과 문자열을 반환합니다. |
끈 | ucase (문자열 A) | 같은 상기와. |
끈 | lower (문자열 A) | B의 모든 문자를 소문자로 변환 한 결과 문자열을 반환합니다. |
끈 | lcase (문자열 A) | 같은 상기와. |
끈 | trim (문자열 A) | A의 양쪽 끝에서 공백을 잘라낸 결과 문자열을 반환합니다. |
끈 | ltrim (문자열 A) | A의 시작 부분 (왼쪽)에서 공백을 잘라낸 결과 문자열을 반환합니다. |
끈 | rtrim (문자열 A) | rtrim (string A) A의 끝 (오른쪽)에서 공백을 잘라낸 결과 문자열을 반환합니다. |
끈 | regexp_replace (문자열 A, 문자열 B, 문자열 C) | Java 정규식 구문과 일치하는 B의 모든 하위 문자열을 C로 대체 한 결과 문자열을 반환합니다. |
int | 크기 (Map <KV>) | 지도 유형의 요소 수를 반환합니다. |
int | 크기 (배열 <T>) | 배열 유형의 요소 수를 반환합니다. |
<유형>의 값 | cast (<expr> as <type>) | 표현식 expr의 결과를 <type>으로 변환합니다. 예를 들어 cast ( '1'as BIGINT)는 문자열 '1'을 정수 표현으로 변환합니다. 변환에 실패하면 NULL이 리턴됩니다. |
끈 | from_unixtime (int unixtime) | Unix epoch (1970-01-01 00:00:00 UTC)의 초 수를 "1970-01-01 00:00 :"형식의 현재 시스템 시간대에서 해당 순간의 타임 스탬프를 나타내는 문자열로 변환합니다. 00 " |
끈 | to_date (문자열 타임 스탬프) | 타임 스탬프 문자열의 날짜 부분을 반환합니다. to_date ( "1970-01-01 00:00:00") = "1970-01-01" |
int | 년 (문자열 날짜) | 날짜 또는 타임 스탬프 문자열의 연도 부분을 반환합니다. year ( "1970-01-01 00:00:00") = 1970, year ( "1970-01-01") = 1970 |
int | 월 (문자열 날짜) | 날짜 또는 타임 스탬프 문자열의 월 부분을 반환합니다. month ( "1970-11-01 00:00:00") = 11, month ( "1970-11-01") = 11 |
int | 요일 (문자열 날짜) | 날짜 또는 타임 스탬프 문자열의 일 부분을 반환합니다. day ( "1970-11-01 00:00:00") = 1, day ( "1970-11-01") = 1 |
끈 | get_json_object (문자열 json_string, 문자열 경로) | 지정된 json 경로를 기반으로 json 문자열에서 json 객체를 추출하고 추출 된 json 객체의 json 문자열을 반환합니다. 입력 json 문자열이 유효하지 않으면 NULL을 반환합니다. |
예
다음 쿼리는 몇 가지 내장 함수를 보여줍니다.
round () 함수
hive> SELECT round(2.6) from temp;
쿼리가 성공적으로 실행되면 다음 응답이 표시됩니다.
3.0
floor () 함수
hive> SELECT floor(2.6) from temp;
쿼리를 성공적으로 실행하면 다음 응답이 표시됩니다.
2.0
ceil () 함수
hive> SELECT ceil(2.6) from temp;
쿼리를 성공적으로 실행하면 다음 응답이 표시됩니다.
3.0
집계 함수
Hive는 다음과 같은 기본 제공 기능을 지원합니다. aggregate functions. 이러한 함수의 사용법은 SQL 집계 함수와 동일합니다.
반환 유형 | 서명 | 기술 |
---|---|---|
BIGINT | 개수 (*), 개수 (expr), | count (*)-검색된 총 행 수를 반환합니다. |
더블 | sum (col), sum (DISTINCT col) | 그룹에있는 요소의 합계 또는 그룹에있는 열의 고유 값 합계를 반환합니다. |
더블 | avg (col), avg (DISTINCT col) | 그룹에있는 요소의 평균 또는 그룹에있는 열의 고유 값 평균을 반환합니다. |
더블 | min (col) | 그룹에있는 열의 최소값을 반환합니다. |
더블 | 최대 (col) | 그룹에있는 열의 최대 값을 반환합니다. |