[HADOOP] 하이브 : 분할 문자열을 사용하여 정규 표현식
HADOOP하이브 : 분할 문자열을 사용하여 정규 표현식
나는 :: 구분되는 단어의 문자열을 가지고있다. 어떻게 하이브 UDF의 regexp_extract () 문자열에서 단어를 추출하기 위해 사용할 수 있습니까?
해결법
-
==============================
1.
regexp_extract('2foa1fa::12hjk','^(\\w.*)\\:{2}(\\w.*)$',1) as word1
OUTPUT : 2foa1fa
regexp_extract('2foa1fa::12hjk','^(\\w.*)\\:{2}(\\w.*)$',2) as word2
OUTPUT : 12hjk
지금은 단지 문자열 리터럴의 장소에서 열 이름을 고수하고 당신이 가서 잘되어야합니다.
당신은 또한뿐만 아니라 배열 위치에 따라 배열 한 후 쿼리를 생성 분할 기능을 사용할 수 있습니다. 다음과 같이 보일 것이다 :
select my_array[2] from (select split('2foa1fa::12hjk','\\::') as my_array from my_table) b;
OUTPUT : 12hjk
from https://stackoverflow.com/questions/31351479/hive-split-string-using-regex by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HDFS에서 일부 파일의 이름 지정 규칙 (0) | 2019.09.29 |
---|---|
[HADOOP] 어떻게 하이브 데이터와 메타 스토어 의사 소통을하고 서로 통합? (0) | 2019.09.29 |
[HADOOP] 하둡 copyFromLocal의 메모리 문제 아웃 (0) | 2019.09.29 |
[HADOOP] (모든 솔루션을 시도한 후) 호스트 OS에서 샌드 박스에서 카프카 액세스 (0) | 2019.09.29 |
[HADOOP] oozie를 사용하여 S3에 파일을 이동 (0) | 2019.09.29 |