pengdou has uploaded a new patch set (#6). (
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
SELECTED 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/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
23 files changed, 815 insertions(+), 41 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/50/19050/6
--
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: 6
Gerrit-Owner: pengdou <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>