You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@carbondata.apache.org by "kumar vishal (JIRA)" <ji...@apache.org> on 2018/03/23 07:25:00 UTC
[jira] [Updated] (CARBONDATA-2269) Support Query on Pre Aggregate
on streaming table
[ https://issues.apache.org/jira/browse/CARBONDATA-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
kumar vishal updated CARBONDATA-2269:
-------------------------------------
Description:
Support Query On Pre Aggregate table created on Streaming table
For querying the data on PreAggregate table on streaming table change the query plan to apply union of agg table and streaming segment of actual table to get the current data.
Query Example for streaming table:
**User Query:**
SELECT name, sum(Salary) as totalSalary
FROM maintable
**Updated Query:**
SELECT name, sum(totalSalary) FROM(
SELECT name, sum(Salary) as totalSalary
FROM maintable
GROUP BY name
UNION ALL
SELECT maintable_name,sum(maintable_salary) as totalSalary
FROM maintable_agg
GROUP BY maintable_name)
GROUP BY name)
**User Query:**
SELECT name, AVG(Salary) as avgSalary
FROM maintable.
**Updated Query:**
SELECT name, Divide(sum(sumSalary)/sum(countsalary))
FROM(
SELECT name, sum(Salary) as sumSalary,count(salary) countsalary
FROM maintable
GROUP BY name
UNION ALL
SELECT maintable_name,sum(maintable_salary) as sumSalary, count(maintable_salary) countsalary
FROM maintable_agg
GROUP BY maintable_name)
GROUP BY name)
**User Query:**
SELECT name, count(Salary) as countSalary
FROM maintable.
**Updated Query:**
SELECT name, sum(countsalary)
FROM(
SELECT name, count(Salary) as countSalary
FROM maintable
GROUP BY name
UNION ALL
SELECT maintable_name,sum(maintable_count)
FROM maintable_agg
GROUP BY maintable_name)
GROUP BY name)
was:
For querying the data on PreAggregate table on streaming table change the query plan to apply union of agg table and streaming segment of actual table to get the current data.
For more detail, see the streaming ingest design document
Query Example for streaming table:
+User Query:+
SELECT name, sum(Salary) as totalSalary
FROM maintable
+Updated Query:+
SELECT name, sum(totalSalary) FROM(
SELECT name, sum(Salary) as totalSalary
FROM maintable
GROUP BY name
UNION ALL
SELECT maintable_name,sum(maintable_salary) as totalSalary
FROM maintable_agg
GROUP BY maintable_name)
GROUP BY name)
+User Query:+
SELECT name, AVG(Salary) as avgSalary
FROM maintable.
+Updated Query:+
SELECT name, Divide(sum(sumSalary)/sum(countsalary))
FROM(
SELECT name, sum(Salary) as sumSalary,count(salary) countsalary
FROM maintable
GROUP BY name
UNION ALL
SELECT maintable_name,sum(maintable_salary) as sumSalary, count(maintable_salary) countsalary
FROM maintable_agg
GROUP BY maintable_name)
GROUP BY name)
+User Query:+
SELECT name, count(Salary) as countSalary
FROM maintable.
+Updated Query:+
SELECT name, sum(countsalary)
FROM(
SELECT name, count(Salary) as countSalary
FROM maintable
GROUP BY name
UNION ALL
SELECT maintable_name,sum(maintable_count)
FROM maintable_agg
GROUP BY maintable_name)
GROUP BY name)
> Support Query on Pre Aggregate on streaming table
> -------------------------------------------------
>
> Key: CARBONDATA-2269
> URL: https://issues.apache.org/jira/browse/CARBONDATA-2269
> Project: CarbonData
> Issue Type: Sub-task
> Reporter: kumar vishal
> Assignee: kumar vishal
> Priority: Major
>
> Support Query On Pre Aggregate table created on Streaming table
> For querying the data on PreAggregate table on streaming table change the query plan to apply union of agg table and streaming segment of actual table to get the current data.
> Query Example for streaming table:
> **User Query:**
> SELECT name, sum(Salary) as totalSalary
> FROM maintable
> **Updated Query:**
> SELECT name, sum(totalSalary) FROM(
> SELECT name, sum(Salary) as totalSalary
> FROM maintable
> GROUP BY name
> UNION ALL
> SELECT maintable_name,sum(maintable_salary) as totalSalary
> FROM maintable_agg
> GROUP BY maintable_name)
> GROUP BY name)
> **User Query:**
> SELECT name, AVG(Salary) as avgSalary
> FROM maintable.
> **Updated Query:**
> SELECT name, Divide(sum(sumSalary)/sum(countsalary))
> FROM(
> SELECT name, sum(Salary) as sumSalary,count(salary) countsalary
> FROM maintable
> GROUP BY name
> UNION ALL
> SELECT maintable_name,sum(maintable_salary) as sumSalary, count(maintable_salary) countsalary
> FROM maintable_agg
> GROUP BY maintable_name)
> GROUP BY name)
> **User Query:**
> SELECT name, count(Salary) as countSalary
> FROM maintable.
> **Updated Query:**
> SELECT name, sum(countsalary)
> FROM(
> SELECT name, count(Salary) as countSalary
> FROM maintable
> GROUP BY name
> UNION ALL
> SELECT maintable_name,sum(maintable_count)
> FROM maintable_agg
> GROUP BY maintable_name)
> GROUP BY name)
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)