[HADOOP] 돼지 라틴어를 사용하여 열을 "업데이트하는 방법"
HADOOP돼지 라틴어를 사용하여 열을 "업데이트하는 방법"
내가 다음 표를 사용할 수 있다고 상상해보십시오.
A: { x: int, y: int, z: int, ...99 other columns... }
이제는 z를 NULL로 설정하여 x> y로 설정하고 결과 데이터 집합을 B로 저장하도록 변환하려고합니다.
다른 열을 명시 적으로 언급하지 않고도이 작업을 수행하려고합니다. 유지 관리의 악몽이됩니다.
간단한 해결책이 있습니까?
해결법
-
==============================
1.이 문제는이 JIRA에서 추적됩니다 : PIG-1693 foreach에는 "모든 나머지 필드"를 나타내는 방법이 필요합니다.
이 문제는이 JIRA에서 추적됩니다 : PIG-1693 foreach에는 "모든 나머지 필드"를 나타내는 방법이 필요합니다.
현재 나는 당신이 말하는 것을하거나 Z를 로딩하지 않고 별 표현으로 새로운 열 Z를 추가하는 것보다 더 간단한 것을 모른다.
-
==============================
2.나는 한 줄짜리 봉지로 둥지를 틀고 나중에 평평하게하여 부풀기의 일부를 떨어 뜨릴 수있었습니다.
나는 한 줄짜리 봉지로 둥지를 틀고 나중에 평평하게하여 부풀기의 일부를 떨어 뜨릴 수있었습니다.
그래도 약간의 해킹이 느껴집니다. 그래서 나는 그것이 시나리오에 더 적합한지를보기 위해 계단식을 조사하고있다.
-
==============================
3.귀하의 시나리오를 용이하게하는 기능이 Pig 0.9에 추가되었습니다. 새로운 프로젝트 범위 연산자 (..)를 사용하면 다음 예제와 같이 시작 및 / 또는 끝 필드 이름을 지정하여 다양한 필드를 나타낼 수 있습니다.
귀하의 시나리오를 용이하게하는 기능이 Pig 0.9에 추가되었습니다. 새로운 프로젝트 범위 연산자 (..)를 사용하면 다음 예제와 같이 시작 및 / 또는 끝 필드 이름을 지정하여 다양한 필드를 나타낼 수 있습니다.
결과 = FOREACH someInput GENERATE field1, field2, null을 field3, field4 ..로;
위의 예에서 필드 1 / 2 / 3 / 4는 실제 필드 이름입니다. 필드 중 하나는 null로 설정되고 다른 필드는 그대로 유지됩니다.
이 "새로운 Apache Pig 0.9 기능 - 제 3 부"기사에 대한 자세한 내용 : http://hortonworks.com/blog/new-apache-pig-0-9-features-part-3-additional-features/
특정 문제를 해결하려면 결과를 결합하기 위해 FILTER와 UNION을 원할 것입니다.
-
==============================
4.물론 열 번호로 열을 선택할 수는 있지만 아무것도 변경하면 쉽게 악몽이 될 수 있습니다. 컬럼 이름이 훨씬 안정적이라는 것을 알았 기 때문에 다음 해결책을 권장합니다.
물론 열 번호로 열을 선택할 수는 있지만 아무것도 변경하면 쉽게 악몽이 될 수 있습니다. 컬럼 이름이 훨씬 안정적이라는 것을 알았 기 때문에 다음 해결책을 권장합니다.
..를 사용하여 선행 또는 후행 열 (또는 열 사이)을 나타낼 수 있습니다. 'MyCol'의 값을 'updatedvalue'로 변경하려면이 방법이 효과가 있습니다.
aliasAfter = FOREACH aliasBefore GENERATE .. colBeforeMyCol, updatedvalue, colAfterMyCol ..;
from https://stackoverflow.com/questions/4682912/how-to-update-a-column-using-pig-latin by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Apache 하이브 오류이 버전의 hadoop에서 지원되지 않는 자격 증명 병합 (0) | 2019.07.28 |
---|---|
[HADOOP] Hadoop 유출 실패 (0) | 2019.07.27 |
[HADOOP] Hadoop : core-site.xml에서 기본 FileSystem을 HDFS로 설정할 수 없습니다. (0) | 2019.07.27 |
[HADOOP] Hadoop 매퍼가 여러 개의 키를 출력 할 수 있습니까? (0) | 2019.07.27 |
[HADOOP] Hadoop 및 Bash : 파일 이름 일치 범위 삭제 (0) | 2019.07.27 |