I file sono denominati part-r-000 [0-9] [0-9] e contengono campi separati da tabulazioni. Posso visualizzarli usando hadoop fs -text part-r-00000
ma non riesco a farli caricare usando maiale.Apache Pig: carica un file che mostra bene usando hadoop fs-text
Quello che ho provato:
x = load 'part-r-00000';
dump x;
x = load 'part-r-00000' using TextLoader();
dump x;
ma che mi dà solo spazzatura. Come posso visualizzare il file usando maiale?
Ciò che potrebbe essere rilevante è che il mio hdf sta ancora utilizzando il CDH-2 al momento. Inoltre, se scarico il file in locale ed eseguo file part-r-00000
, si dice part-r-00000: data
, non so come decomprimerlo localmente.
Credo che il vostro primo 'load' utilizza PigStorage, ma forse si puoi ricontrollare esplicitamente, 'x = LOAD 'part-r-00000' USING USANDO PigStorage ('\ t')'. Quando si scarica il file localmente, se lo si visualizza (ad esempio 'tail'), è garbage/binary? Puoi dare un esempio di codice che ha generato questi dati? –
Utilizzo di PigStorage fornisce esplicitamente lo stesso risultato. Scaricando in locale (usando -get o -copyToLocal) il file non è leggibile, i. e. binario/spazzatura (meno o coda). Cercherò di trovare il codice che ha creato questi file e di riferire. – exic
Sembra che il file sia stato memorizzato come un file di sequenza. Sono stato in grado di estrarre le righe da esso utilizzando una funzione di caricamento definita dall'utente. C'è un modo più semplice rispetto all'utilizzo di udf? – exic