2010-12-16 2 views
1

Я работаю над JsonStorage для Pig. Все работает нормально, но по крайней мере мне нужно получить имена полей (т. Е. Crdate, name, position) из схемы свиньи.Получите имена полевой схемы от Pig

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

На самом деле я расширяю свой класс с помощью StoreFunc, который не предоставляет функции для получения имен полей.

public class PigJsonStorage extends StoreFunc { .. } 

Может кто-нибудь помочь мне :)

ответ

3

отказ от ответственности: я немного новичок в повозке сам и еще не реализовал класс хранения.

Мне кажется, что у StoreFunc есть метод для этого: StoreFunc.checkSchema(ResourceSchema s). Я думаю, вы могли бы просто захватить схему из нее для использования во время записи.

+0

точно правильный. – SquareCog 2010-12-25 20:08:41

0

Там есть класс JsonMetadata, который возвращает ResourceSchema, который имеет метод, возвращающий массив полей.

+0

Как я вижу, getSchema сообщает мне схему загруженных данных, но я генерирую новые поля во время обработки MapReduce. Поэтому мне нужна схема непосредственно перед тем, как кортежи хранятся в файловой системе :) – Christoph 2010-12-16 11:02:38

Смежные вопросы