Kunal Kapoor created CARBONDATA-2450:
----------------------------------------

             Summary: Bad Records are not workng for Complex data type
                 Key: CARBONDATA-2450
                 URL: https://issues.apache.org/jira/browse/CARBONDATA-2450
             Project: CarbonData
          Issue Type: Bug
            Reporter: Kunal Kapoor
            Assignee: Kunal Kapoor


val myaSchema=
 """
 | {
 | "namespace": "com.apache.schema",
 | "type": "record",
 | "name": "StudentActivity",
 | "fields": [
 | {
 | "name": "id",
 | "type": "string"
 | },
 | {
 | "name": "course_details",
 | "type": {
 | "name": "course_details",
 | "type": "record",
 | "fields": [
 | {
 | "name": "course_struct_course_string",
 | "type": "string"
 | }
 | ]
 | }
 | },
 | {
 | "name":"salary_string",
 | "type":
 | {
 | "type":"array",
 | "items": "string"
 | }
 | }
 | ]
 |}
 """.stripMargin

 var json = """{
 | "id": "cust_1",
 | "course_details": {
 | "course_struct_course_string":"babu"
 | },
 | "salary_string":["babu","lal"]
 |}""".stripMargin

 val nn = new org.apache.avro.Schema.Parser().parse(myaSchema)
 val converter = new JsonAvroConverter
 var record = converter
 .convertToGenericDataRecord(json.getBytes(CharEncoding.UTF_8), nn)


 val fields = new Array[Field](3)
 fields(0)=new Field("id", DataTypes.STRING)
 val fld_s = new java.util.ArrayList[StructField]
 fld_s.add(new StructField("carbon_int", DataTypes.INT))
 fields(1)=new Field("course_details", "struct",fld_s)

 val fld_a = new java.util.ArrayList[StructField]
 fld_a.add(new StructField("carbon_array", DataTypes.INT))
 fields(2)=new Field("salary_string", "array",fld_a)

 try {
 val writer = CarbonWriter.builder.withSchema(new 
Schema(fields)).sortBy(Array("id"))
 
.outputPath("D:/Hadoop/carbon_1_3/sdk/carbon_bln_4").isTransactionalTable(false).buildWriterForAvroInput
 writer.write(record)
 writer.close()
 }
 catch {
 case e: Exception => {
 e.printStackTrace()
 }
 }



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to