AVRO - API di riferimento
Nel capitolo precedente abbiamo descritto il tipo di input di Avro, ovvero gli schemi Avro. In questo capitolo verranno spiegate le classi ei metodi utilizzati nella serializzazione e deserializzazione degli schemi Avro.
SpecificDatumWriter Classe
Questa classe appartiene al pacchetto org.apache.avro.specific. Implementa ilDatumWriter interfaccia che converte gli oggetti Java in un formato serializzato in memoria.
Costruttore
S.No. | Descrizione |
---|---|
1 | SpecificDatumWriter(Schema schema) |
Metodo
S.No. | Descrizione |
---|---|
1 | SpecificData getSpecificData() Restituisce l'implementazione SpecificData utilizzata da questo writer. |
SpecificDatumReader Classe
Questa classe appartiene al pacchetto org.apache.avro.specific. Implementa ilDatumReader interfaccia che legge i dati di uno schema e determina la rappresentazione dei dati in memoria. SpecificDatumReader è la classe che supporta le classi java generate.
Costruttore
S.No. | Descrizione |
---|---|
1 | SpecificDatumReader(Schema schema) Costruisci dove gli schemi dello scrittore e del lettore sono gli stessi. |
Metodi
S.No. | Descrizione |
---|---|
1 | SpecificData getSpecificData() Restituisce l'oggetto SpecificData contenuto. |
2 | void setSchema(Schema actual) Questo metodo viene utilizzato per impostare lo schema del writer. |
DataFileWriter
Istanzia DataFileWrite per empclasse. Questa classe scrive una sequenza di record serializzati di dati conformi a uno schema, insieme allo schema in un file.
Costruttore
S.No. | Descrizione |
---|---|
1 | DataFileWriter(DatumWriter<D> dout) |
Metodi
S.No | Descrizione |
---|---|
1 | void append(D datum) Aggiunge un dato a un file. |
2 | DataFileWriter<D> appendTo(File file) Questo metodo viene utilizzato per aprire un writer aggiungendo a un file esistente. |
Data FileReader
Questa classe fornisce l'accesso casuale ai file scritti con DataFileWriter. Eredita la classeDataFileStream.
Costruttore
S.No. | Descrizione |
---|---|
1 | DataFileReader(File file, DatumReader<D> reader)) |
Metodi
S.No. | Descrizione |
---|---|
1 | next() Legge il dato successivo nel file. |
2 | Boolean hasNext() Restituisce vero se rimangono più voci in questo file. |
Class Schema.parser
Questa classe è un parser per schemi in formato JSON. Contiene metodi per analizzare lo schema. Appartiene aorg.apache.avro pacchetto.
Costruttore
S.No. | Descrizione |
---|---|
1 | Schema.Parser() |
Metodi
S.No. | Descrizione |
---|---|
1 | parse (File file) Analizza lo schema fornito nel dato file. |
2 | parse (InputStream in) Analizza lo schema fornito nel dato InputStream. |
3 | parse (String s) Analizza lo schema fornito nel dato String. |
Interfaccia GenricRecord
Questa interfaccia fornisce metodi per accedere ai campi in base al nome e all'indice.
Metodi
S.No. | Descrizione |
---|---|
1 | Object get(String key) Restituisce il valore di un campo dato. |
2 | void put(String key, Object v) Imposta il valore di un campo dato il suo nome. |
Classe GenericData.Record
Costruttore
S.No. | Descrizione |
---|---|
1 | GenericData.Record(Schema schema) |
Metodi
S.No. | Descrizione |
---|---|
1 | Object get(String key) Restituisce il valore di un campo del nome specificato. |
2 | Schema getSchema() Restituisce lo schema di questa istanza. |
3 | void put(int i, Object v) Imposta il valore di un campo in base alla sua posizione nello schema. |
4 | void put(String key, Object value) Imposta il valore di un campo dato il suo nome. |