Repository: incubator-carbondata
Updated Branches:
  refs/heads/master fc28fef2c -> 6fe4f96e1


Fixed Data load fail if dataframe is created with LONG datatype column

Fixed review comment

Moved test case to SparkDatasourceSuite


Project: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-carbondata/commit/a82a1270
Tree: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/tree/a82a1270
Diff: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/diff/a82a1270

Branch: refs/heads/master
Commit: a82a1270afb9cafd4538c4922eaf89cee20eb80a
Parents: fc28fef
Author: ravipesala <ravi.pes...@gmail.com>
Authored: Thu Nov 10 22:16:59 2016 +0530
Committer: jackylk <jacky.li...@huawei.com>
Committed: Mon Nov 14 16:33:53 2016 +0800

----------------------------------------------------------------------
 .../spark/CarbonDataFrameWriter.scala           | 18 +++++++++---------
 integration/spark/src/test/resources/test.json  |  3 +++
 .../dataload/SparkDatasourceSuite.scala         | 20 ++++++++++++++++++++
 3 files changed, 32 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/a82a1270/integration/spark/src/main/scala/org/apache/carbondata/spark/CarbonDataFrameWriter.scala
----------------------------------------------------------------------
diff --git 
a/integration/spark/src/main/scala/org/apache/carbondata/spark/CarbonDataFrameWriter.scala
 
b/integration/spark/src/main/scala/org/apache/carbondata/spark/CarbonDataFrameWriter.scala
index 2c5fb16..c2b2190 100644
--- 
a/integration/spark/src/main/scala/org/apache/carbondata/spark/CarbonDataFrameWriter.scala
+++ 
b/integration/spark/src/main/scala/org/apache/carbondata/spark/CarbonDataFrameWriter.scala
@@ -136,15 +136,15 @@ class CarbonDataFrameWriter(val dataFrame: DataFrame) 
extends Logging {
 
   private def convertToCarbonType(sparkType: DataType): String = {
     sparkType match {
-      case StringType => CarbonType.STRING.name
-      case IntegerType => CarbonType.INT.name
-      case ByteType => CarbonType.INT.name
-      case ShortType => CarbonType.SHORT.name
-      case LongType => CarbonType.LONG.name
-      case FloatType => CarbonType.DOUBLE.name
-      case DoubleType => CarbonType.DOUBLE.name
-      case BooleanType => CarbonType.DOUBLE.name
-      case TimestampType => CarbonType.TIMESTAMP.name
+      case StringType => CarbonType.STRING.getName
+      case IntegerType => CarbonType.INT.getName
+      case ByteType => CarbonType.INT.getName
+      case ShortType => CarbonType.SHORT.getName
+      case LongType => CarbonType.LONG.getName
+      case FloatType => CarbonType.DOUBLE.getName
+      case DoubleType => CarbonType.DOUBLE.getName
+      case BooleanType => CarbonType.DOUBLE.getName
+      case TimestampType => CarbonType.TIMESTAMP.getName
       case other => sys.error(s"unsupported type: $other")
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/a82a1270/integration/spark/src/test/resources/test.json
----------------------------------------------------------------------
diff --git a/integration/spark/src/test/resources/test.json 
b/integration/spark/src/test/resources/test.json
new file mode 100644
index 0000000..50a859c
--- /dev/null
+++ b/integration/spark/src/test/resources/test.json
@@ -0,0 +1,3 @@
+{"name":"Michael"}
+{"name":"Andy", "age":30}
+{"name":"Justin", "age":19}

http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/a82a1270/integration/spark/src/test/scala/org/apache/carbondata/integration/spark/testsuite/dataload/SparkDatasourceSuite.scala
----------------------------------------------------------------------
diff --git 
a/integration/spark/src/test/scala/org/apache/carbondata/integration/spark/testsuite/dataload/SparkDatasourceSuite.scala
 
b/integration/spark/src/test/scala/org/apache/carbondata/integration/spark/testsuite/dataload/SparkDatasourceSuite.scala
index 1da0533..2d5d3d5 100644
--- 
a/integration/spark/src/test/scala/org/apache/carbondata/integration/spark/testsuite/dataload/SparkDatasourceSuite.scala
+++ 
b/integration/spark/src/test/scala/org/apache/carbondata/integration/spark/testsuite/dataload/SparkDatasourceSuite.scala
@@ -173,6 +173,26 @@ class SparkDatasourceSuite extends QueryTest with 
BeforeAndAfterAll {
     sql("DROP TABLE test")
   }
 
+  test("json data with long datatype issue CARBONDATA-405") {
+    val currentDirectory = new File(this.getClass.getResource("/").getPath + 
"/../../")
+      .getCanonicalPath
+    val jsonDF = read.format("json").load("./src/test/resources/test.json")
+    jsonDF.write
+      .format("carbondata")
+      .option("tableName", "dftesttable")
+      .option("compress", "true")
+      .mode(SaveMode.Overwrite)
+      .save()
+    val carbonDF = read
+      .format("carbondata")
+      .option("tableName", "dftesttable")
+      .load()
+    checkAnswer(
+      carbonDF.select("age", "name"),
+      jsonDF.select("age", "name"))
+    sql("drop table dftesttable")
+  }
+
   override def afterAll {
     sql("DROP TABLE IF EXISTS carbon1")
     sql("DROP TABLE IF EXISTS carbon2")

Reply via email to