Github user ajantha-bhat commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2703#discussion_r216412941
--- Diff:
integration/spark-datasource/src/test/scala/org/apache/spark/sql/carbondata/datasource/TestCreateTableUsingSparkCarbonFileFormat.scala
---
@@ -320,6 +324,66 @@ class TestCreateTableUsingSparkCarbonFileFormat
extends FunSuite with BeforeAndA
assert(new File(filePath).exists())
cleanTestData()
}
+ test("Read data having multi blocklet ") {
+ buildTestDataMuliBlockLet(700000)
+ assert(new File(writerPath).exists())
+ spark.sql("DROP TABLE IF EXISTS sdkOutputTable")
+
+ if (SparkUtil.isSparkVersionEqualTo("2.1")) {
+ //data source file format
+ spark.sql(s"""CREATE TABLE sdkOutputTable USING carbon OPTIONS (PATH
'$writerPath') """)
+ } else if (SparkUtil.isSparkVersionXandAbove("2.2")) {
+ //data source file format
+ spark.sql(
+ s"""CREATE TABLE sdkOutputTable USING carbon LOCATION
+ |'$writerPath' """.stripMargin)
+ } else{
+ // TO DO
+ }
+ //org.apache.spark.SparkException: Index file not present to read the
carbondata file
+ spark.sql("select count(*) from sdkOutputTable").show(false)
+ val result=checkAnswer(spark.sql("select count(*) from
sdkOutputTable"),Seq(Row(700001)))
+ if(result.isDefined){
+ assert(false,result.get)
+ }
+ spark.sql("DROP TABLE sdkOutputTable")
+ // drop table should not delete the files
+ assert(new File(writerPath).exists())
+ cleanTestData()
+ }
+ def buildTestDataMuliBlockLet(records :Int): Unit ={
+ FileUtils.deleteDirectory(new File(writerPath))
+ val
oldValue=CarbonProperties.getInstance().getProperty(CarbonV3DataFormatConstants.BLOCKLET_SIZE_IN_MB)
--- End diff --
sdk already supports blocklet size setting in table properties. please use
that
---