Praveen M P created CARBONDATA-2462:
--------------------------------------- Summary: Carbon writer fails when the record is given from avro file(binary) Key: CARBONDATA-2462 URL: https://issues.apache.org/jira/browse/CARBONDATA-2462 Project: CarbonData Issue Type: Bug Reporter: Praveen M P public class AvroCarbonWrte { static String avroschema = readFileAndConvertoStringObject("D:/Carbon/sdk/avro.json"); static Schema parsedAschema = new org.apache.avro.Schema.Parser().parse(avroschema); static Properties properties = new Properties(); public static void main(String[] args) throws Exception { String path = "conf.properties"; if (args.length > 0) { path = args[0]; } properties.load(new FileReader(path)); // readOneResult(); //writerTest("D:/Carbon/sdk/avrodata/ok.avro"); readTest("D:/Carbon/sdk/avrodata/ok.avro"); //dataGenerator("D:/Carbon/sdk/avrodata/simuldata/simu.avro"); } public static void readTest(String path) throws IOException, InvalidLoadOptionException { File file = new File(path); GenericDatumReader<GenericRecord> genericRecordGenericDatumReader = new GenericDatumReader<GenericRecord>(parsedAschema); DataFileReader<GenericRecord> genericRecords = new DataFileReader<>(file, genericRecordGenericDatumReader); //Field[] fields = new Array[Field](8); Field[] fields = new Field[8]; fields[0] = new Field("timeStamp", DataTypes.LONG); fields[1] = new Field("vin", DataTypes.STRING); fields[2] = new Field("event", DataTypes.STRING); ArrayList<StructField> fld_s = new ArrayList<StructField>(); fld_s.add(new StructField("valueType", DataTypes.STRING)); fld_s.add(new StructField("status", DataTypes.STRING)); fld_s.add(new StructField("code", DataTypes.STRING)); fld_s.add(new StructField("name_en", DataTypes.STRING)); fld_s.add(new StructField("name", DataTypes.STRING)); fld_s.add(new StructField("value", DataTypes.STRING)); ArrayList<StructField> fld_s_n = new ArrayList<StructField>(); fld_s_n.add(new StructField("signals", DataTypes.createStructType(fld_s))); fields[3] = new Field("signals", "array", fld_s_n); fields[4] = new Field("metaData", DataTypes.STRING); fields[5] = new Field("orginalReport", DataTypes.STRING); fields[6] = new Field("uploadType", DataTypes.STRING); fields[7] = new Field("uploadTime", DataTypes.LONG); while (genericRecords.hasNext()) { GenericRecord next = genericRecords.next(); byte[] bytes = new JsonAvroConverter().convertToJson(next); System.out.println(next); // CarbonWriter writer = CarbonWriter.builder().withSchema(new org.apache.carbondata.sdk.file.Schema(fields)).outputPath(path).buildWriterForAvroInput(); CarbonWriter writer = CarbonWriter.builder().withSchema(new org.apache.carbondata.sdk.file.Schema(fields)) .outputPath("D:/Carbon/sdk/avro.carbon").isTransactionalTable(false).buildWriterForAvroInput(); // GenericData.Record record = new JsonAvroConverter().convertToGenericDataRecord(bytes, parsedAschema); writer.write(next); writer.close(); -- This message was sent by Atlassian JIRA (v7.6.3#76005) |
Free forum by Nabble | Edit this page |