[HADOOP] 돼지 참조
HADOOP돼지 참조
하둡 돼지를 배우고 있으며 항상 요소를 참조하는 것을 고집했습니다. 아래 예를 찾으십시오.
groupwordcount: {group: chararray,words: {(bag_of_tokenTuples_from_line::token: chararray)}}
우리가 중첩 된 튜플과 가방이 있다면 누군가 요소를 참조하는 방법을 설명해 줄 수 있습니까?
중첩 참조를 더 잘 이해하기위한 모든 링크가 큰 도움이 될 것입니다.
해결법
-
==============================
1.이 문제를 이해하기 위해 간단한 데모를하겠습니다.
이 문제를 이해하기 위해 간단한 데모를하겠습니다.
HDFS의 '/tmp/a.txt'폴더에 저장된 'a.txt'파일을 말합니다.
A = LOAD '/tmp/a.txt'를 PigStorage ( ',') AS를 사용하여 (name : chararray, term : chararray, gpa : float);
덤프 A;
(요한, 플로리다, 3.9)
(John, fl, 3.7)
(John, sp, 4.0)
(요한, sm, 3.8)
(Mary, fl, 3.8)
(Mary, fl, 3.9)
(Mary, sp, 4.0)
(메리, sm, 4.0)
이제 매개 변수 이름과 용어를 기준으로이 별칭 'A'로 그룹화합시다.
B = 그룹 A BY (이름, 용어);
덤프 B;
((John, fl), {(John, fl, 3.7), (John, fl, 3.9)})
((요한, sm), {(요한, sm, 3.8)})
((John, sp), {(John, sp, 4.0)})
((Mary, fl), {(Mary, fl, 3.9), (Mary, fl, 3.8)})
((Mary, sm), {(Mary, sm, 4.0)})
((Mary, sp), {(Mary, sp, 4.0)})
B를 기술;
B : {그룹 : (이름 : chararray, 용어 : chararray), A : {(이름 : chararray, 용어 : chararray, gpa : float)}}
이제 그것은 당신이 요구 한 문제 진술이되었습니다. 그룹 튜플 요소 또는 튜플 요소 또는 둘 다에 액세스하는 방법을 보여 드리겠습니다.
C = foreach B는 group.name, group.term, A.name, A.term, A.gpa를 생성합니다.
덤프 C;
(John, fl, {(John), (John)}, {(fl), (fl)}, {(3.7), (3.9)})
(John, sm, {(John)}, {(sm)}, {(3.8)})
(John, sp, {(John)}, {(sp)}, {(4.0)})
(Mary, fl, {(Mary), (Mary)}, {(fl), (fl)}, {(3.9), (3.8)})
(Mary, sm, {(Mary)}, {(sm)}, {(4.0)})
(Mary, sp, {(Mary)}, {(sp)}, {(4.0)})
그래서 우리는이 방법으로 모든 요소에 접근했습니다.
이것이 도움이 되었기를 바랍니다
from https://stackoverflow.com/questions/44490831/pig-referencing by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Spark의 Hive 2.1.1-사용해야하는 Spark 버전 (0) | 2019.09.08 |
---|---|
[HADOOP] Zip 입력 파일을 사용한 하둡 스트리밍 (0) | 2019.09.08 |
[HADOOP] 하둡 : 슬레이브 노드가 시작되지 않습니다 (0) | 2019.09.08 |
[HADOOP] 하둡 클러스터의 노드 수 (0) | 2019.09.08 |
[HADOOP] Hadoop WordCount 예제 문제, 성능 조정이 필요합니까? (0) | 2019.09.08 |