Avro 參考 API



在上一章中,我們描述了 Avro 的輸入型別,即 Avro 模式。本章將解釋在 Avro 模式的序列化和反序列化中使用的類和方法。

SpecificDatumWriter 類

此類屬於包 **org.apache.avro.specific**。它實現了 **DatumWriter** 介面,該介面將 Java 物件轉換為記憶體中的序列化格式。

建構函式

序號 描述
1 SpecificDatumWriter(Schema schema)

方法

序號 描述
1

SpecificData getSpecificData()

返回此寫入器使用的 SpecificData 實現。

SpecificDatumReader 類

此類屬於包 **org.apache.avro.specific**。它實現了 **DatumReader** 介面,該介面讀取模式的資料並確定記憶體中的資料表示。**SpecificDatumReader** 是支援生成的 Java 類的類。

建構函式

序號 描述
1

SpecificDatumReader(Schema schema)

寫入器和讀取器的模式相同的建構函式。

方法

序號 描述
1

SpecificData getSpecificData()

返回包含的 SpecificData。

2

void setSchema(Schema actual)

此方法用於設定寫入器的模式。

DataFileWriter

為 **emp** 類例項化 **DataFileWrite**。此類將符合模式的一系列序列化資料記錄以及模式寫入檔案。

建構函式

序號 描述
1 DataFileWriter(DatumWriter<D> dout)

方法

序號 描述
1

void append(D datum)

將資料追加到檔案。

2

DataFileWriter<D> appendTo(File file)

此方法用於開啟一個追加到現有檔案的寫入器。

DataFileReader

此類提供對使用 **DataFileWriter** 編寫的檔案的隨機訪問。它繼承了類 **DataFileStream**。

建構函式

序號 描述
1 DataFileReader(File file, DatumReader<D> reader))

方法

序號 描述
1

next()

讀取檔案中的下一個資料。

2

Boolean hasNext()

如果此檔案中還有更多條目,則返回 true。

Schema.parser 類

此類是 JSON 格式模式的解析器。它包含用於解析模式的方法。它屬於 **org.apache.avro** 包。

建構函式

序號 描述
1 Schema.Parser()

方法

序號 描述
1

parse (File file)

解析給定 **file** 中提供的模式。

2

parse (InputStream in)

解析給定 **InputStream** 中提供的模式。

3

parse (String s)

解析給定 **String** 中提供的模式。

GenricRecord 介面

此介面提供透過名稱和索引訪問欄位的方法。

方法

序號 描述
1

Object get(String key)

返回給定欄位的值。

2

void put(String key, Object v)

設定給定欄位名的值。

GenericData.Record 類

建構函式

序號 描述
1 GenericData.Record(Schema schema)

方法

序號 描述
1

Object get(String key)

返回給定名稱的欄位的值。

2

Schema getSchema()

返回此例項的模式。

3

void put(int i, Object v)

設定給定其在模式中的位置的欄位的值。

4

void put(String key, Object value)

設定給定欄位名的值。

廣告
© . All rights reserved.