2015-02-19 12 views
9

i documenti di parquet di Cloudera mostrano esempi di integrazione con maiale/alveare/impala. ma in molti casi voglio leggere il file parquet stesso a scopo di debug.come leggere un file parquet, in un codice java standalone?

c'è una semplice API di java reader per leggere un file di parquet?

Grazie Yang

+0

Questa non è una risposta diretta, ma potresti avere un po 'di fortuna passando attraverso il progetto di parquet che espone uno strumento da riga di comando per leggere i file di Parquet e vedere cosa puoi chiamare dalla tua applicazione Java. https://github.com/apache/incubator-parquet-mr/tree/master/parquet-tools –

+0

correlati: http://stackoverflow.com/questions/30565510/how-to-read-and-write-mapstring- object-from-to-parquet-file-in-java-or-scala – okigan

+1

@JeremyBeard Questo repository è vuoto a partire dal 1/17 – javadba

risposta

6

È possibile utilizzare AvroParquetReader dalla libreria in legno-Avro per leggere un file parquet come un insieme di AVRO GenericRecord oggetti.

+0

O quelli specifici (per la velocità). –

3

Vecchio metodo: (deprecato)

AvroParquetReader<GenericRecord> reader = new AvroParquetReader<GenericRecord>(file); 
GenericRecord nextRecord = reader.read(); 

Nuovo metodo:

AvroParquetReader<GenericRecord> reader = new AvroParquetReader.<GenericRecord>builder(file).build(); 
GenericRecord nextRecord = reader.read(); 

ho ricevuto questo da here e ho usato questo nei miei casi di test con successo.