[jira] [Created] (CARBONDATA-2269) Support Query on Pre Aggregate on streaming table

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (CARBONDATA-2269) Support Query on Pre Aggregate on streaming table

Akash R Nilugal (Jira)
kumar vishal created CARBONDATA-2269:
----------------------------------------

             Summary: 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


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)

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)