pengdou has uploaded a new patch set (#11). ( 
http://gerrit.cloudera.org:8080/19050 )

Change subject: IMPALA-11625: Support create/drop materialized view syntax on 
IMPALA
......................................................................

IMPALA-11625: Support create/drop materialized view syntax on IMPALA

For infrequently modified datasets, building suitable materialized
views and querying on materialized views directly can significantly
reduce query response time.

Currently IMPALA only treats materialized view built by hive as
a normal table and does not support CREATE MATERIALIZED VIEW AS
SELECT and DROP MATERIALIZED VIEW syntax on IMPALA.

CREATE TABLE AS SELECT can save the intermediate results of the
query, but it is very inconvenient to use and maintain, for example,
the calculation logic is not visible to the user.

So I implemented supporting of create/drop materialized view syntax
on impala.

CREATE MATERIALIZED VIEW syntax:
CREATE MATERIALIZED VIEW [IF NOT EXISTS] [db_name.]table_name
    [PARTITIONED BY (col_name[, ...])]
    [SORT BY ([column [, column ...]])]
    [COMMENT 'table_comment']
    [ROW FORMAT row_format]
    [WITH SERDEPROPERTIES ('key1'='value1', 'key2'='value2', ...)]
    [STORED AS cmvas_file_format]
    LOCATION 'hdfs_path'
    [CACHED IN 'pool_name' [WITH REPLICATION = integer] | UNCACHED]
    [TBLPROPERTIES ('key1'='value1', 'key2'='value2', ...)]
AS
    select_statement

cmvas_file_format:
    PARQUET
    | TEXTFILE

DROP MATERIALIZED VIEW syntax:
DROP MATERIALIZED VIEW [IF EXISTS] [db_name.]table_name

Change-Id: I77fdd34bf04a8994a215170747249356cd40622b
---
M be/src/service/client-request-state.cc
M common/thrift/JniCatalog.thrift
M fe/src/main/cup/sql-parser.cup
M fe/src/main/java/org/apache/impala/analysis/AnalysisContext.java
M fe/src/main/java/org/apache/impala/analysis/Analyzer.java
A 
fe/src/main/java/org/apache/impala/analysis/CreateMaterializedViewAsSelectStmt.java
M fe/src/main/java/org/apache/impala/analysis/CreateTableStmt.java
M fe/src/main/java/org/apache/impala/analysis/DropTableOrViewStmt.java
M fe/src/main/java/org/apache/impala/analysis/LimitElement.java
M fe/src/main/java/org/apache/impala/analysis/ToSqlUtils.java
M fe/src/main/java/org/apache/impala/catalog/View.java
M fe/src/main/java/org/apache/impala/planner/DistributedPlanner.java
M fe/src/main/java/org/apache/impala/planner/Planner.java
M fe/src/main/java/org/apache/impala/planner/PlannerContext.java
M fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/jflex/sql-scanner.flex
M fe/src/test/java/org/apache/impala/analysis/AnalyzeDDLTest.java
M fe/src/test/java/org/apache/impala/analysis/AnalyzerTest.java
M fe/src/test/java/org/apache/impala/analysis/ParserTest.java
M testdata/datasets/functional/functional_schema_template.sql
M testdata/datasets/functional/schema_constraints.csv
A 
testdata/workloads/functional-query/queries/QueryTest/create-materialized-view-as-select.test
M tests/metadata/test_ddl.py
24 files changed, 819 insertions(+), 47 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/50/19050/11
--
To view, visit http://gerrit.cloudera.org:8080/19050
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I77fdd34bf04a8994a215170747249356cd40622b
Gerrit-Change-Number: 19050
Gerrit-PatchSet: 11
Gerrit-Owner: pengdou <pengdou1...@126.com>
Gerrit-Reviewer: Aman Sinha <amsi...@cloudera.com>
Gerrit-Reviewer: Baike Xia <xiaba...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: pengdou <pengdou1...@126.com>

Reply via email to