Uploaded image for project: 'CarbonData'
  1. CarbonData
  2. CARBONDATA-2537

MV Dataset - User queries with 'having' condition is not accessing the data from the MV datamap.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Invalid
    • None
    • None
    • data-query
    • 3 Node Opensource ANT cluster.

    Description

      User queries with 'having' condition is not accessing the data from the MV datamap. It is accessing the data from the Main table.

      Test queries - spark shell:

      scala>carbon.sql("CREATE TABLE originTable (empno int, empname String, designation String, doj Timestamp, workgroupcategory int, workgroupcategoryname String, deptno int, deptname String, projectcode int, projectjoindate Timestamp, projectenddate Timestamp,attendance int, utilization int,salary int) STORED BY 'org.apache.carbondata.format'").show()
      ++

      ++
      ++

      scala>carbon.sql("LOAD DATA local inpath 'hdfs://hacluster/user/prasanna/data.csv' INTO TABLE originTable OPTIONS('DELIMITER'= ',', 'QUOTECHAR'= '\"','timestampformat'='dd-MM-yyyy')").show()
      ++

      ++
      ++

      scala> carbon.sql("select empno from originTable having salary>10000").show(200,false)
      -----

      empno

      -----

      14
      15
      20
      19

      -----

      scala> carbon.sql("create datamap mv_hav using 'mv' as select empno from originTable having salary>10000").show(200,false)
      ++

      ++
      ++

      scala> carbon.sql("explain select empno from originTable having salary>10000").show(200,false)
      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      plan

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      == CarbonData Profiler ==
      Table Scan on origintable
      • total blocklets: 1
      • filter: (salary <> null and salary > 10000)
      • pruned by Main DataMap
      • skipped blocklets: 0
      == Physical Plan ==
      *Project empno#1131
      +- *BatchedScan CarbonDatasourceHadoopRelation [ Database name :default, Table name :origintable, Schema :Some(StructType(StructField(empno,IntegerType,true), StructField(empname,StringType,true), StructField(designation,StringType,true), StructField(doj,TimestampType,true), StructField(workgroupcategory,IntegerType,true), StructField(workgroupcategoryname,StringType,true), StructField(deptno,IntegerType,true), StructField(deptname,StringType,true), StructField(projectcode,IntegerType,true), StructField(projectjoindate,TimestampType,true), StructField(projectenddate,TimestampType,true), StructField(attendance,IntegerType,true), StructField(utilization,IntegerType,true), StructField(salary,IntegerType,true))) ] default.origintableempno#1131 PushedFilters: [IsNotNull(salary), GreaterThan(salary,10000)]

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       

       

      Attachments

        1. image-2018-06-27-11-54-31-158.png
          42 kB
          Prasanna Ravichandran
        2. image-2018-06-27-11-53-49-587.png
          32 kB
          Prasanna Ravichandran
        3. image-2018-05-25-15-50-23-903.png
          94 kB
          Prasanna Ravichandran
        4. data.csv
          1 kB
          Prasanna Ravichandran

        Issue Links

          Activity

            People

              xubo245 Bo Xu
              Prasanna Ravichandran Prasanna Ravichandran
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: