[HADOOP] Pig 출력에서 괄호와 쉼표를 제거하십시오
HADOOPPig 출력에서 괄호와 쉼표를 제거하십시오
현재 내 출력은 다음과 같습니다.
((130,1))
((131,1))
((132,1))
((133,1))
((137,1))
((138,2))
((139,1))
((140,1))
((142,2))
((143,1))
나는 그것을 좋아하고 싶다 :
130 1
131 1
132 1
내 코드는 다음과 같습니다.
A = LOAD 'user-links-small.txt' AS (user_a: int, user_b: int);
B = ORDER A BY user_a;
grouped = COGROUP B BY user_a;
C = FOREACH grouped GENERATE COUNT(B);
D = COGROUP C BY $0;
E = FOREACH D GENERATE($0, COUNT($1));
DUMP E;
나는이 포럼을 살펴보고 있었고 일부는 사용자 정의 함수를 코딩하는 방법을 제안했습니다. 나는 그것을 시도 할 수 있지만 Pig를 처음 사용하고 그 기능을 조금 더 배우고 싶습니다. flatten ()에서 무언가를 찾았지만 실제로 그 출력을 얻을 수 없습니다. 그림과 같이 대괄호와 쉼표를 제거하는 방법이 있습니까? 도움을 주셔서 감사합니다.
해결법
-
==============================
1.기본적으로 DUMP 명령을 사용하면 출력은 튜플로 저장됩니다 (즉, 구분 기호 ','로 구분 된 함수 괄호 안에 덤프 된 모든 필드)
기본적으로 DUMP 명령을 사용하면 출력은 튜플로 저장됩니다 (즉, 구분 기호 ','로 구분 된 함수 괄호 안에 덤프 된 모든 필드)
FLATTEN 연산자를 사용하여 첫 번째 괄호를 제거하고 STORE 명령을 사용하여 두 번째 괄호와 ','를 제거 할 수 있습니다.
이 시도
E = FOREACH D GENERATE FLATTEN(($0, COUNT($1))); STORE E INTO 'output' USING PigStorage(' ');
'output'폴더로 이동하여 파일 이름이 part *로 시작하는지 확인하십시오. 당신은 이와 같은 출력을 볼 것입니다 130 1 131 1 132 1
from https://stackoverflow.com/questions/26893141/remove-brackets-and-commas-in-output-from-pig by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HDFS에서 로컬 파일 시스템으로 Parquet 데이터 수집 (0) | 2019.09.07 |
---|---|
[HADOOP] Spark 및 Python은 사용자 정의 파일 형식 / 생성기를 RDD의 입력으로 사용합니다. (0) | 2019.09.07 |
[HADOOP] AWS EMR 4.0-셸 명령을 실행하기 위해 사용자 지정 JAR 단계를 추가하는 방법 (0) | 2019.09.07 |
[HADOOP] 대용량 데이터-저장 및 쿼리 [닫기] (0) | 2019.09.07 |
[HADOOP] Cloudera Impala가 Tableau 오류에 연결 (0) | 2019.09.07 |