2012-09-14 3 views
13

Attualmente sto eseguendo il debug di uno script suino. Mi piacerebbe definire una tupla nel file Pig direttamente (invece della funzione di base "Carica").Definire i dati della tupla nello script porco

C'è un modo per farlo?

Sto cercando qualcosa di simile:

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

Il dump Will return:

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

Se hai caricato alcuni dati puoi creare tuple usando TOTUPLE: http://pig.apache.org/docs/r0.10.0/func.html#totuple –

+2

Voglio solo definire una tupla senza usare alcun LOAD funzioni. –

+0

Puoi definire i parametri in uno script pig con '% declare' ma non penso che ti sia permesso solo creare alcuni dati al volo (senza caricarlo da hdf/disco locale) –

risposta

4

è infatti impossibble di farlo in maiale nella sua forma attuale. Se si desidera eseguire il debug, creare un file in hadoop e caricarlo. Scrivi i dati che desideri nel file (qualunque cosa tu avresti creato manualmente se fosse possibile) e caricalo. Quindi caricarlo usando maiale.

1

Il seguente (sporco) trucco fa il lavoro: - crea un file con una riga vuota e lo memorizza sul tuo HDFS. - caricalo: Line = load/user/toto/onelinefile USING .. - crea i propri dati: la riga foreach genera "bob" come nome, 22 come età;