Avro-reference-api
AVRO-リファレンスAPI
前の章では、Avroの入力タイプ、つまりAvroスキーマについて説明しました。 この章では、Avroスキーマのシリアル化と逆シリアル化で使用されるクラスとメソッドについて説明します。
SpecificDatumWriterクラス
このクラスはパッケージ org.apache.avro.specific に属します。 Javaオブジェクトをメモリ内のシリアル化された形式に変換する DatumWriter インターフェイスを実装します。
コンストラクタ
S.No. | Description |
---|---|
1 | SpecificDatumWriter(Schema schema) |
方法
S.No. | Description |
---|---|
1 |
SpecificData getSpecificData() このライターが使用するSpecificData実装を返します。 |
SpecificDatumReaderクラス
このクラスはパッケージ org.apache.avro.specific に属します。 スキーマのデータを読み取り、メモリ内のデータ表現を決定する DatumReader インターフェイスを実装します。 SpecificDatumReader は、生成されたJavaクラスをサポートするクラスです。
コンストラクタ
S.No. | Description |
---|---|
1 |
SpecificDatumReader(Schema schema) ライターのスキーマとリーダーのスキーマが同じ場所に構築します。 |
方法
S.No. | Description |
---|---|
1 |
SpecificData getSpecificData() 含まれているSpecificDataを返します。 |
2 |
void setSchema(Schema actual) このメソッドは、ライターのスキーマを設定するために使用されます。 |
DataFileWriter
*emp* クラスの *DataFileWrite* をインスタンス化します。 このクラスは、スキーマに準拠したデータのシーケンスシリアル化されたレコードを、スキーマとともにファイルに書き込みます。
コンストラクタ
S.No. | Description |
---|---|
1 | DataFileWriter(DatumWriter<D> dout) |
方法
S.No | Description |
---|---|
1 |
void append(D datum) ファイルにデータを追加します。 |
2 |
DataFileWriter<D> appendTo(File file) このメソッドは、既存のファイルに追加するライターを開くために使用されます。 |
データファイルリーダー
このクラスは、 DataFileWriter で書き込まれたファイルへのランダムアクセスを提供します。 クラス DataFileStream を継承します。
コンストラクタ
S.No. | Description |
---|---|
1 | DataFileReader(File file, DatumReader<D> reader)) |
方法
S.No. | Description |
---|---|
1 |
next() ファイル内の次のデータを読み取ります。 |
2 |
Boolean hasNext() このファイルにさらにエントリが残っている場合はtrueを返します。 |
クラスSchema.parser
このクラスは、JSON形式のスキーマのパーサーです。 スキーマを解析するメソッドが含まれています。 org.apache.avro パッケージに属します。
コンストラクタ
S.No. | Description |
---|---|
1 | Schema.Parser() |
方法
S.No. | Description |
---|---|
1 |
parse (File file) 指定された file で提供されるスキーマを解析します。 |
2 |
parse (InputStream in) 指定された InputStream で提供されるスキーマを解析します。 |
3 |
parse (String s) 指定された String で提供されるスキーマを解析します。 |
インターフェースGenricRecord
このインターフェイスは、名前とインデックスでフィールドにアクセスするメソッドを提供します。
方法
S.No. | Description |
---|---|
1 |
Object get(String key) 指定されたフィールドの値を返します。 |
2 |
void put(String key, Object v) 名前を指定してフィールドの値を設定します。 |
クラスGenericData.Record
コンストラクタ
S.No. | Description |
---|---|
1 | GenericData.Record(Schema schema) |
方法
S.No. | Description |
---|---|
1 |
Object get(String key) 指定された名前のフィールドの値を返します。 |
2 |
Schema getSchema() このインスタンスのスキーマを返します。 |
3 |
void put(int i, Object v) スキーマ内での位置を指定して、フィールドの値を設定します。 |
4 |
void put(String key, Object value) 名前を指定してフィールドの値を設定します。 |