Avroのシリアル化はHadoopユーザに人気がありますが、例は見つけにくいです。apache avroの使用方法
誰でもこのサンプルコードを手伝ってもらえますか?私は主にReflect APIを使ってファイルを読み書きし、UnionとNullアノテーションを使用することに興味があります。
public class Reflect {
public class Packet {
int cost;
@Nullable TimeStamp stamp;
public Packet(int cost, TimeStamp stamp){
this.cost = cost;
this.stamp = stamp;
}
}
public class TimeStamp {
int hour = 0;
int second = 0;
public TimeStamp(int hour, int second){
this.hour = hour;
this.second = second;
}
}
public static void main(String[] args) throws IOException {
TimeStamp stamp;
Packet packet;
stamp = new TimeStamp(12, 34);
packet = new Packet(9, stamp);
write(file, packet);
packet = new Packet(8, null);
write(file, packet);
file.close();
// open file to read.
packet = read(file);
packet = read(file);
}
}
これを見てください。これは、ストリームに書き込むためのものです。したがって、ファイルに書き込むと、ヘッダーが含まれていないと思われます。そうであれば、別のプログラミング言語で解釈することはできないでしょう。また、この例では、null可能なフィールドまたは共用体を持つより複雑なデータ構造の使用については対処していません。 – fodon
私は@fodonに同意します。私はいくつかのバグが存在すると信じているので、より詳細な例を見ることができるようにしたいと思います。 – Dan
@LordAragonリンクはもう動作しません。これは、参照から実際のコンテンツを共有することの良い習慣でもあります。 – Sankalp