복붙노트

[HADOOP] 하이브 정규 표현식

HADOOP

하이브 정규 표현식

어느 날 나는 다음과 같이 발 데이터 후 후 데이터를 추출하기 위해 다른 값-많은 행과 열을 하나 싶어 한 한 scenario.I에서 하이브 최신 버전의 정규 표현식을 사용하는 방법을 알려 주시기 바랍니다

COL1 -> 돈, valone :이 저축 계정입니다

COL2 -> 돈, valtwo : 아니 일반 회계

COL3 -> 돈, valthree : 신용 카드

col4 -> 돈, valFour : 잘못된 acctnumber

나는 정규 표현식을 사용하여 쿼리를 선택 할 때

COLNAME, regexp_extract (COLNAME을 *; 발? [^ ..., 1)에서 선택 hive_table;

I 출력으로 원하는 산출: 이 저축 계정입니다 아니 일반 회계 신용 카드 잘못된 acctnumber

valtwo | | valthree | valfour .... 나는 또한 valone 시도 valtwo | | valthree |하지만 난 valone 쓸 수있는 레코드의 수천 거의가 valfour가 ................................ . 각 레코드에 대해.

하나는이에 도와 드릴까요?

해결법

  1. ==============================

    1.나는 쿼리 다음 당신의 regexp.Please 시도에 문제가 있다고 생각합니다.

    나는 쿼리 다음 당신의 regexp.Please 시도에 문제가 있다고 생각합니다.

    select colname,regexp_extract(colname,'.*;.*:(.*)',1) from table_name;
    
  2. from https://stackoverflow.com/questions/35858524/hive-regular-expression by cc-by-sa and MIT license