[HADOOP] 하이브 및 정규 표현
HADOOP하이브 및 정규 표현
사용자 이름에있는 모든 IP 주소를 필터링하려고합니다. 그러나 이것은 내 쿼리에서 제대로 작동하지 않습니다.
select distinct regexp_extract(username, '^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$', 0) from ips.
문제는 그가 심지어 IP 주소로 1000000로 숫자를 인식한다는 것입니다. 어떤 생각을 고칠 수 있을까요?
해결법
-
==============================
1.특수 문자를 피하려면 추가 백 슬래시가 필요합니다. 또는 \ s. 위키에 대한 더 많은 정보가 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF에 있습니다.
특수 문자를 피하려면 추가 백 슬래시가 필요합니다. 또는 \ s. 위키에 대한 더 많은 정보가 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF에 있습니다.
다음과 같이 시도해보십시오.
select distinct regexp_extract(ip, '^([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})$', 0) as match from ips having match <> "";
from https://stackoverflow.com/questions/18289445/hive-and-regular-expression by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Java로 Sqoop을 실행하려면 어떻게해야합니까? (0) | 2019.06.04 |
---|---|
[HADOOP] 구조체 배열로 데이터 선택 하이브 (0) | 2019.06.04 |
[HADOOP] 새 API에서의 AlternTextOutputFormat 대체 (0) | 2019.06.04 |
[HADOOP] Hadoop Path 객체를 Java File 객체로 변환하는 방법 (0) | 2019.06.04 |
[HADOOP] Hadoop이 실행 중이더라도 작업 추적기에 내 직업을 보여주지 않습니다. (0) | 2019.06.04 |