Tuần tự hóa Avro phổ biến với người dùng Hadoop nhưng các ví dụ rất khó tìm.Sử dụng apache avro phản ánh
Có ai có thể giúp tôi với mã mẫu này không? Tôi chủ yếu quan tâm đến việc sử dụng API phản chiếu để đọc/ghi vào các tệp và sử dụng chú thích Liên kết và 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);
}
}
Thấy điều đó. Điều đó có nghĩa là để ghi vào luồng. Vì vậy, nếu được ghi vào một tập tin, tôi nghi ngờ nó sẽ không chứa tiêu đề. Nếu có, nó có thể sẽ không thể diễn giải nó trong một lagnguage lập trình khác nhau. Ngoài ra, ví dụ này không giải quyết việc sử dụng các datastructures phức tạp hơn với các trường hoặc các công đoàn không có giá trị. – fodon
Tôi đồng ý với @fodon. Tôi muốn có thể thấy nhiều ví dụ tiết hơn như tôi tin rằng một số lỗi tồn tại mà các thử nghiệm không được tính toán. – Dan
@LordAragon liên kết không hoạt động nữa. Đây là một lý do khác để thực hành tốt để chia sẻ nội dung thực tế cũng từ tham chiếu. – Sankalp