2
如何在s3存儲桶中創建Avro文件,然後向其中添加avro記錄。在Amazon S3存儲桶中創建Avro文件
我有所有的字節數組形式的avro記錄,併成功地在一個avro文件中傳輸。但他的文件是(我知道)不是一個完整的avro文件。由於完整的avro文件是模式+數據。
以下是在S3中傳輸文件中字節記錄的代碼。
任何人都知道如何創建基於avro模式的文件,然後將這些字節傳輸到相同的文件。
public void sendByteData(byte [] b, Schema schema){
try{
AWSCredentials credentials = new BasicAWSCredentials("XXXXX", "XXXXXX");
AmazonS3 s3Client = new AmazonS3Client(credentials);
//createFolder("encounterdatasample", "avrofiles", s3Client);
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(b.length);
InputStream stream = new ByteArrayInputStream(b);
/* File file = new File("/home/abhishek/sample.avro");
DatumWriter<GenericRecord> writer = new GenericDatumWriter<GenericRecord>(schema);
DataFileWriter<GenericRecord> dataFileWriter = new DataFileWriter<GenericRecord>(writer);
dataFileWriter.create(schema, file);
s3Client.putObject("encounterdatasample", dataFileWriter.create(schema, file), stream, meta);
*/
s3Client.putObject("encounterdatasample", "sample.avro", stream,meta);
System.out.println("Done writing the data");
}catch(Exception e){
e.printStackTrace();
}
}
註釋中的代碼不起作用。只是想玩弄它。 對此有任何幫助。
謝謝。