2012-09-14 12 views
13

Actualmente estoy depurando un script de cerdo. Me gustaría definir una tupla en el archivo Pig directamente (en lugar de la función básica "Cargar").Definir datos de tupla en el script de cerdo

¿Hay alguna manera de hacerlo?

Busco algo así:

A= ('name#bob'','age#29';'name#paul','age#12') 

El vertedero Volverá:

('bob',29) 
('paul',12) 
+0

Si ha cargado algunos datos, puede crear tuplas usando TOTUPLE: http://pig.apache.org/docs/r0.10.0/func.html#totuple –

+2

Solo quiero definir una tupla sin usar LOAD funciones. –

+0

Puede definir parámetros en un script porcino con '% declare', pero no creo que tenga permiso para crear datos sobre la marcha (sin cargarlo desde el disco hdfs/local) –

Respuesta

4

De hecho, es impossibble Para hacer esto en cerdos en su estado actual. Si solo quieres depurar crea un archivo en hadoop y carga eso. Escriba los datos que desea en el archivo (lo que hubiera creado manualmente si hubiera sido posible) y cárguelos. Luego, cárgalo usando un cerdo.

1

El siguiente truco (sucio) hace el trabajo: - crea un archivo con una fila vacía y guárdalo en tu HDFS. - cárguelo: Line = load/user/toto/onelinefile USANDO .. - cree datos propios: foreach line generate 'bob' como nombre, 22 como edad;

Cuestiones relacionadas