Endswitch
- Endswitch는 두 개의 파라미터를 이용하여 첫 번째에 입력한 문자열이 두 번째에 입력한 문자열로 끝이 나는지 확인할 수 있는 기능
- 앞 예제의 A 릴레이션의 데이터 중 name 속성의 값이 n으로 끝나는 속성이 있는지 검사하고, id 속성과 name 속성을 X 릴레이션에 저장 후 출력
X = FOREACH A GENERATE (id, name), ENDSWITH(name, 'n');
DUMP X;
Startswitch : Endswitch와 동일함
Substring
- 주어진 문자열에서 지정한 인덱스만큼 문자열을 추출할 수 있는 기능
- 앞선 A 릴레이션에 SUBSTRING을 추가하여 name 속성값의 0번째 부터 (2-1) 번째 인덱스까지 추출하여 저장 후 출력
- stopindex는 마지막 문자 다음에 오는 인덱스
- stopindex는 추출할 문자열의 마지막 인덱스의 다음 인덱스를 뜻하기 때문에 SUBSTRING(name,0,2) -> name 속성의 0번째 인덱스부터 1번째 인덱스까지를 의미
X = FOREACH A GENERATE (id, name), SUBSTRING(name, 0, 2);
DUMP X;
EqualsIgnoreCase
- 두 문자열을 비교하여 같은지 확인하는 기능을 가지는 함수
- 일치하는 튜플 중 마지막의 속성이 true로 표현
X = FOREACH A GENERATE (id, name), EqualsIgnoreCase(name,'Robin');
DUMP X;
IndexOf
- 문자열 값, 문자의 인덱스를 이용하여 주어진 문자열에서 지정한 문자가 어느 인덱스에 위치하는지 확인하는 기능
- 중복된 문자일 경우 첫번째 문자가 먼저 검색
- 인덱스의 정수 값이 -1이라면 해당하는 문자가 없다는 것을 뜻함
- 인덱스의 정수 값이 양수로 위치된다면 0번째 인덱스부터 계산하여 해당하는 위치에 문자가 있다는 것을 뜻함
- ex) ((4,Sara),2) : Sara 문자열중 r이 2번째 인덱스에 위치
Last_index_If
- IndexOF 함수와 유사하지만, 문자열 중 중복되는 문자가 있다면 가장 마지막의 문자의 인덱스를 검사하는 기능
- 중복된 문자일 경우 마지막 문자가 먼저 검색
- 앞의 A 릴레이션에 name 속성값 중 g가 위치한 인덱스를 출력하여 X 릴레이션에 저장하고 출력
- -1은 해당하는 문자가 없다는 것을 뜻함
- ex) ((6,Maggy),3)결과에서 g가 2개 있지만 마지막 문자의 인덱스를 반환하기 때문에 3이 출력
X = FOREACH A GENERATE (id, name), LAST_INDEX_OF(name, 'g');
DUMP X;
LCFIRST
- 주어진 문자열의 첫 번째 문자를 소문자로 변환하는 기능
- 세 번째인 name 속성 값의 첫 번째 문자가 소문자로 변경된 것이 확인된다.
X = FOREACH A GENERATE (id, name), LCFIRST(name);
DUMP X;
UCFIRST : LCFIRST와 사용법 동일
- 첫 번째 문자 대문자로 변환
LOWER
- 주어진 문자열의 모든 문자를 소문자로 변환
X = FOREACH A GENERATE (id, name), LOWER(name);
DUMP X;
UPPER : LOWER와 사용법 동일
- 주어진 문자열의 모든 문자를 대문자로 변환
REPLACE
- 지정한 속성의 문자열을 입력한 문자열로 변경하는 기능
TRIM
- 문자열을 받아 문자열의 앞, 뒤에 공백이 있을 시 이를 제거하는 기능
LTRIM
- 주어진 문자열의 왼쪽에 있는 공백만 제거
STRSPLIT
- 지정한 구분 기호를 사용하여 문자열을 분할하는 기능
- sample_data 수정
- 세 번째 속성의 값이 두 번째 속성 값에서 '_' 문자열을 기준으로 두 개의 문자열로 나뉜 것을 확인
A = LOAD 'sample_data' USING PigStorage(',') as (id:int, name:chararray, age:int);
X = FOREACH A GENERATE (id, name), STRSPLIT(name, '_', 2);
DUMP X;
'빅데이터 관리 > Hadoop' 카테고리의 다른 글
Hive - 2 (0) | 2023.05.16 |
---|---|
Hive - 1 (0) | 2023.05.16 |
PIG 기본 명령어 - 5 (1) | 2023.05.16 |
PIG 기본명령어 - 4 (0) | 2023.05.16 |
PIG 기본 명령어 - 3 (0) | 2023.05.15 |