[
https://issues.apache.org/jira/browse/CARBONDATA-1940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Manish Gupta resolved CARBONDATA-1940.
--------------------------------------
Resolution: Fixed
Assignee: anubhav tarar
Fix Version/s: 1.3.0
> Select query on preaggregate table created with group by clause throws
> exception: Column does not exist
> -------------------------------------------------------------------------------------------------------
>
> Key: CARBONDATA-1940
> URL: https://issues.apache.org/jira/browse/CARBONDATA-1940
> Project: CarbonData
> Issue Type: Bug
> Components: data-query
> Affects Versions: 1.3.0
> Environment: spark2.1
> Reporter: Geetika Gupta
> Assignee: anubhav tarar
> Priority: Major
> Fix For: 1.3.0
>
> Time Spent: 8h 20m
> Remaining Estimate: 0h
>
> We create a carbon table
> spark.sql(
> s"""
> | CREATE TABLE carbon_table(
> | shortField SHORT,
> | intField INT,
> | bigintField LONG,
> | doubleField DOUBLE,
> | stringField STRING,
> | timestampField TIMESTAMP,
> | decimalField DECIMAL(18,2),
> | dateField DATE,
> | charField CHAR(5),
> | floatField FLOAT,
> | complexData ARRAY<STRING>
> | )
> | STORED BY 'carbondata'
> | TBLPROPERTIES('SORT_COLUMNS'='', 'DICTIONARY_INCLUDE'='dateField,
> charField')
> """.stripMargin)
> Pre-aggregate create command:
> spark.sql("create datamap abcaggnew on table carbon_table using
> 'org.apache.carbondata.datamap.AggregateDataMapHandler' as select shortField,
> sum(shortField) from carbon_table group by shortfield,stringField").show
> when we perform query on preaggregate table using
> spark.sql("select shortField, sum(shortField) from carbon_table group by
> shortfield,stringField").show
> It shows the following error:
> Exception in thread "main" org.apache.spark.sql.AnalysisException: Column
> does not exists in Pre Aggregate table;
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules.getChildAttributeReference(CarbonPreAggregateRules.scala:491)
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules$$anonfun$13$$anonfun$apply$4.applyOrElse(CarbonPreAggregateRules.scala:788)
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules$$anonfun$13$$anonfun$apply$4.applyOrElse(CarbonPreAggregateRules.scala:786)
> at
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:288)
> at
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:288)
> at
> org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:70)
> at
> org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:287)
> at org.apache.spark.sql.catalyst.trees.TreeNode.transform(TreeNode.scala:277)
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules$$anonfun$13.apply(CarbonPreAggregateRules.scala:786)
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules$$anonfun$13.apply(CarbonPreAggregateRules.scala:785)
> at
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> at
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> at
> scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
> at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
> at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
> at scala.collection.AbstractTraversable.map(Traversable.scala:104)
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules.getUpdatedExpressions(CarbonPreAggregateRules.scala:785)
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules$$anonfun$transformPreAggQueryPlan$1.applyOrElse(CarbonPreAggregateRules.scala:547)
> at
> org.apache.spark.sql.hive.CarbonPreAggregateQueryRules$$anonfun$transformPreAggQueryPlan$1.applyOrElse(CarbonPreAggregateRules.scala:540)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)