AVRO - Справочный API
В предыдущей главе мы описали тип ввода Avro, то есть схемы Avro. В этой главе мы объясним классы и методы, используемые при сериализации и десериализации схем Avro.
SpecificDatumWriter - класс
Этот класс принадлежит пакету org.apache.avro.specific. Он реализуетDatumWriter интерфейс, который преобразует объекты Java в сериализованный формат в памяти.
Конструктор
S.No. | Описание |
---|---|
1 | SpecificDatumWriter(Schema schema) |
Метод
S.No. | Описание |
---|---|
1 | SpecificData getSpecificData() Возвращает реализацию SpecificData, используемую этим писателем. |
SpecificDatumReader Класс
Этот класс принадлежит пакету org.apache.avro.specific. Он реализуетDatumReader интерфейс, который считывает данные схемы и определяет представление данных в памяти. SpecificDatumReader - это класс, который поддерживает сгенерированные классы Java.
Конструктор
S.No. | Описание |
---|---|
1 | SpecificDatumReader(Schema schema) Постройте там, где схемы писателя и читателя совпадают. |
Методы
S.No. | Описание |
---|---|
1 | SpecificData getSpecificData() Возвращает содержащиеся SpecificData. |
2 | void setSchema(Schema actual) Этот метод используется для установки схемы писателя. |
DataFileWriter
Создает DataFileWrite за empкласс. Этот класс записывает последовательность сериализованных записей данных, соответствующих схеме, вместе со схемой в файле.
Конструктор
S.No. | Описание |
---|---|
1 | DataFileWriter(DatumWriter<D> dout) |
Методы
S.No | Описание |
---|---|
1 | void append(D datum) Добавляет данные в файл. |
2 | DataFileWriter<D> appendTo(File file) Этот метод используется для открытия модуля записи, добавляющего к существующему файлу. |
Data FileReader
Этот класс обеспечивает произвольный доступ к файлам, написанным с помощью DataFileWriter. Он наследует классDataFileStream.
Конструктор
S.No. | Описание |
---|---|
1 | DataFileReader(File file, DatumReader<D> reader)) |
Методы
S.No. | Описание |
---|---|
1 | next() Читает следующие данные в файле. |
2 | Boolean hasNext() Возвращает true, если в этом файле осталось больше записей. |
Класс Schema.parser
Этот класс является парсером схем в формате JSON. Он содержит методы для анализа схемы. Это принадлежитorg.apache.avro пакет.
Конструктор
S.No. | Описание |
---|---|
1 | Schema.Parser() |
Методы
S.No. | Описание |
---|---|
1 | parse (File file) Анализирует схему, предоставленную в данном file. |
2 | parse (InputStream in) Анализирует схему, предоставленную в данном InputStream. |
3 | parse (String s) Анализирует схему, предоставленную в данном String. |
Интерфейс GenricRecord
Этот интерфейс предоставляет методы для доступа к полям по имени, а также по индексу.
Методы
S.No. | Описание |
---|---|
1 | Object get(String key) Возвращает значение заданного поля. |
2 | void put(String key, Object v) Устанавливает значение поля по его имени. |
Класс GenericData.Record
Конструктор
S.No. | Описание |
---|---|
1 | GenericData.Record(Schema schema) |
Методы
S.No. | Описание |
---|---|
1 | Object get(String key) Возвращает значение поля с заданным именем. |
2 | Schema getSchema() Возвращает схему этого экземпляра. |
3 | void put(int i, Object v) Устанавливает значение поля с учетом его позиции в схеме. |
4 | void put(String key, Object value) Устанавливает значение поля по его имени. |