मैं डेटा क्रमबद्धता के लिए अपाचे एवरो का उपयोग कर रहा हूं। चूंकि, डेटा में एक निश्चित स्कीमा है, मैं नहीं चाहता कि स्कीमा धारावाहिक डेटा का हिस्सा बनें। निम्न उदाहरण में, स्कीमा एवरो फ़ाइल "users.avro" का हिस्सा है।apache avro का उपयोग कर स्कीमा-कम एवरो फ़ाइलों को कैसे उत्पन्न करें?
User user1 = new User();
user1.setName("Alyssa");
user1.setFavoriteNumber(256);
User user2 = new User("Ben", 7, "red");
User user3 = User.newBuilder()
.setName("Charlie")
.setFavoriteColor("blue")
.setFavoriteNumber(null)
.build();
// Serialize user1 and user2 to disk
File file = new File("users.avro");
DatumWriter<User> userDatumWriter = new SpecificDatumWriter<User>(User.class);
DataFileWriter<User> dataFileWriter = new DataFileWriter<User (userDatumWriter);
dataFileWriter.create(user1.getSchema(), new File("users.avro"));
dataFileWriter.append(user1);
dataFileWriter.append(user2);
dataFileWriter.append(user3);
dataFileWriter.close();
क्या कोई मुझे बता सकता है कि इसमें एम्बेडेड स्कीमा के बिना एवरो-फाइलों को कैसे स्टोर किया जाए?
आपके कोड में वर्णित दृष्टिकोण का उपयोग करना एक कोडेक निर्दिष्ट करना संभव है? अर्थात। स्कीमलेस एवरो उत्पन्न करें, उदाहरण के लिए, संकुचित डिफ्लेट करें? –