많은 수의 로그 파일을 분석하고 속성 그룹과 해당 속성을 가진 ID 백 사이의 관계를 생성하는 돼지 작업이 있습니다. 이 관계를 HDFS에 저장하고 싶지만 다른 Hive / Pig / MapReduce 작업이 전체 데이터를 수집하지 않고도 데이터 또는 데이터의 하위 집합에서 작동하는 데 친숙한 방식으로 저장하고 싶습니다. 상당한 양의 데이터이므로 내 돼지 작업의 출력.
예를 들어 내 관계의 스키마가 다음과 같은 경우
relation: {group: (attr1: long,attr2: chararray,attr3: chararray),ids: {(id: chararray)}}
이 데이터를 분할하여 다음과 같은 파일 구조에 저장하고 싶습니다.
/results/attr1/attr2/attr3/file(s)
여기서 경로의 attrX 값은 그룹의 값이고 파일에는 ID 만 포함됩니다. 이렇게하면 데이터를 복제하지 않고도 후속 분석을 위해 데이터를 쉽게 하위 집합으로 만들 수 있습니다.
맞춤형 StoreFunc로도 그런 일이 가능합니까? 이 목표를 달성하기 위해 취해야 할 다른 접근 방식이 있습니까?
나는 Pig를 처음 접했기 때문에 내 접근 방식에 대한 도움이나 일반적인 제안을 크게 주시면 감사하겠습니다.
미리 감사드립니다.
Multistore는 제가하려는 작업에 완벽하게 맞지는 않았지만 여러 분할 된 출력 파일을 작성하는 사용자 지정 StoreFunc를 작성하는 방법에 대한 좋은 예였습니다. Pig 소스 코드를 다운로드하고 각 항목을 사용하여 HDFS 경로를 구축하는 그룹 튜플을 구문 분석 한 다음 ID 백을 구문 분석하여 결과 파일에 한 줄에 하나의 ID를 씁니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다