[HADOOP] PIG에서 생성 된 bag (크기가 다를 수 있음)에서 첫 번째 튜플을 어떻게 추출합니까?
HADOOPPIG에서 생성 된 bag (크기가 다를 수 있음)에서 첫 번째 튜플을 어떻게 추출합니까?
나는 크기 (가방 안의 튜플 수)가 다를 수있는 정보의 '가방'을 생성합니다. 이것으로부터, 나는 첫 번째 요소를 즉석에서 추출하려고합니다. 어떻게해야합니까?
해결법
-
==============================
1.문서에 따르면 가방은 튜플 및
문서에 따르면 가방은 튜플 및
하지만 조심해야합니다. $ 0은 가방이 주문되지 않았기 때문에 가방에 첫 번째 튜플을 제공하지 않습니다! 구성 튜플의 첫 번째 요소를 가져옵니다.
가방을 순서가 지정된 구조로 변환하거나 UDF를 사용해야합니다. 또한이 대답을 받아 들일 수 없으므로 (삭제할 수 있음) 대신 UDF에 대한 링크가있는 Guarev의 동의를 받아야합니다.
-
==============================
2.DataFu UDF 사용 : FirstTupleFromBag (http://datafu.incubator.apache.org/docs/datafu/1.2.0/datafu/pig/bags/FirstTupleFromBag.html)
DataFu UDF 사용 : FirstTupleFromBag (http://datafu.incubator.apache.org/docs/datafu/1.2.0/datafu/pig/bags/FirstTupleFromBag.html)
-
==============================
3.가방에있는 튜플의 순서가 "첫 번째"것을 얻는 것이 중요하다면 (물론 그렇습니다!) 다음과 같이 할 수 있습니다. 자세한 내용은 https://community.hortonworks.com/에서 설명합니다. 질문 / 22863 / cant-we-filter-the-data-we-have-done-in-37-s.html # 대답 -22995.
가방에있는 튜플의 순서가 "첫 번째"것을 얻는 것이 중요하다면 (물론 그렇습니다!) 다음과 같이 할 수 있습니다. 자세한 내용은 https://community.hortonworks.com/에서 설명합니다. 질문 / 22863 / cant-we-filter-the-data-we-have-done-in-37-s.html # 대답 -22995.
max_runs = FOREACH grp_data { inner_sorted = ORDER runs BY runs DESC; first_row = LIMIT inner_sorted 1; GENERATE first_row AS most_hits; }
from https://stackoverflow.com/questions/11113964/how-do-i-extract-the-first-tuple-from-a-generated-bag-whose-size-might-vary-in by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop이 시스템의 모든 코어를 사용하게 만드는 방법은 무엇입니까? (0) | 2019.06.24 |
---|---|
[HADOOP] 어떻게 (Hadoop에서), 데이터를지도에 넣고 올바른 유형의 함수를 축소합니까? (0) | 2019.06.24 |
[HADOOP] 어떻게 사용자 정의 RecordReader 및 InputFormat 클래스의 단위 테스트를 수행합니까? (0) | 2019.06.24 |
[HADOOP] HBase에서 페이지 매김을 달성하는 방법? (0) | 2019.06.24 |
[HADOOP] 먼저 로컬 파일 시스템에 복사하지 않고 Java를 사용하여 HDFS에 저장된 파일의 압축을 해제 하시겠습니까? (0) | 2019.06.24 |