Hive LIKE 와 RLIKE
Hive LIKE 와 RLIKE
· Version : Hive
Hive에서 LIKE 구문은 RDBMS의 LIKE 구문과 동일한 동작으로, 어떤 서브 문자열(substring)이 문자열의 시작이나 끝, 혹은 문자열 내에서 일치하는지 확인할 수 있다.
아래 스크립트는 LIKE 구문으로 검색한 것이며, OR 절을 사용하여 여러개의 LIKE 구문을 사용하였다.
DROP TABLE IF EXISTS TBL_A; CREATE TABLE TBL_A( COL_1 STRING );
INSERT INTO TBL_A(COL_1) VALUES ('CHICAGO'), ('NEWYORK');
SELECT * FROM TBL_A WHERE COL_1 LIKE '%CA%' OR COL_1 LIKE '%YO%'; |
하이브는 LIKE 절을 자바 정규표현식으로 사용할 수 있는 RLIKE 절로 확장하여 LIKE 절 조합으로 검색하기 어려운 문자열을 표현할 수 있다. 아래 스크립트는 RLIKE 예제이다.
select * from tbl_a where col_1 RLIKE '.*(ca|Yo).*'; |
위 예제에서 마침표(.)는 어떤 한 문자와 일치하고 별(*)은 왼쪽에 있는 것이 0번에서 여러 번 반복되는 것을 의미한다. 따라서 앞, 뒤에서 마침표가 반복된다. (x|y) 표현식은 x또는 y의 문자열이 일치하는 것을 의미한다.
2020-07-21 / Sungwook Kang / http://sungwookkang.com
Hadoop, Big Data, 하둡, 빅데이터, 데이터분석, HDFS, 하둡 파일 시스템, Hive, 하이브, 하이브쿼리, Hive SQL, LIKE, RLIKE