Praveen M P created CARBONDATA-2460:
---------------------------------------
Summary: Infer Schema (create External Table) failed for double data type Array or Struct written by SDK
Key: CARBONDATA-2460
URL:
https://issues.apache.org/jira/browse/CARBONDATA-2460 Project: CarbonData
Issue Type: Bug
Reporter: Praveen M P
val myaSchema=
"""
| {
| "namespace": "com.apache.schema",
| "type": "record",
| "name": "StudentActivity",
| "fields": [
| {
| "name": "id",
| "type": "int"
| },
| {
| "name": "name",
| "type": "string"
| },
| {
| "name": "age",
| "type": "double"
| },
| {
| "name": "course_details",
| "type": {
| "name": "Activity",
| "type": "record",
| "fields": [
|
| {
| "name": "course_double",
| "type": "double"
| }
| ]
| }
| },
|
| {
| "name":"salary_double",
| "type":
| {
| "type":"array",
| "items": "double"
|
| }
| }
|
| ]
| }
""".stripMargin
var json = """{
| "id": 101,
| "name": "babu",
| "age": 12.1,
| "course_details": {
| "course_double": 11.23
| },
| "salary_double": [
| 12.12,
| 25.12,
| 65
| ]
|}""".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](11)
fields(0) = new Field("id", DataTypes.INT)
fields(1) = new Field("name", DataTypes.STRING)
fields(2) = new Field("age", DataTypes.DOUBLE)
// fields[1] = new Field("age", DataTypes.INT);
val fld = new java.util.ArrayList[StructField]
fld.add(new StructField("course_double", DataTypes.DOUBLE))
fields(3) = new Field("course_details", "struct", fld)
val arr1 = new java.util.ArrayList[StructField]
arr1.add(new StructField("salary_double",DataTypes.DOUBLE))
fields(3) = new Field("salary_double", "array",arr1)
try {
val writer = CarbonWriter.builder.withSchema(new Schema(fields)).sortBy(Array("name","id"))
.outputPath("D:/Hadoop/carbon_1_3/sdk/carbon_c8/").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)