2010-12-16 1 views
1

돼지 용 JsonStorage에서 일하고 있습니다. 모든 것은 정상적으로 작동하지만 최소한 돼지 스키마에서 필드 이름 (예 : crdate, name, positions)을 가져와야합니다.돼지에서 필드 스키마 이름 가져 오기

| A | crdate: bytearray | name: bytearray | positions: bytearray | 

실제로 필드의 이름을 가져 오는 기능이없는 StoreFunc로 클래스를 확장합니다.

public class PigJsonStorage extends StoreFunc { .. } 

아무도 나를 도와 줄 수 :)

답변

3

고지 사항 : 나는 돼지에게 조금 새롭고 아직 저장 클래스를 구현하지 않았습니다.

StoreFunc에는 다음과 같은 방법이 있습니다. StoreFunc.checkSchema(ResourceSchema s). 난 당신이 쓰기 중에 사용하기 위해 그저 스키마를 캡처 할 수 있다고 생각합니다.

+0

정확하게 맞습니다. – SquareCog

+0

그것은 작동합니다! 고마워! – Christoph

0

는 필드의 배열을 반환하는 방법이있다 ResourceSchema를 반환하는 클래스 JsonMetadata있다.

+0

필자가 보았 듯이 getSchema는로드 된 데이터의 스키마를 알려주지 만 MapReduce를 처리하는 동안 새 필드를 생성합니다. 그래서 튜플이 파일 시스템에 저장되기 바로 전에 스키마가 필요합니다 : – Christoph