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)