Gabor Kaszab has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16551 )

Change subject: IMPALA-10165: Implement Bucket and Truncate partition 
transforms for Iceberg tables
......................................................................


Patch Set 4:

(10 comments)

http://gerrit.cloudera.org:8080/#/c/16551/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/16551/2//COMMIT_MSG@9
PS2, Line 9: This patch adds support for Iceberg Bucket and Truncate partition
           : transforms. Both accept a parameter: number of buckets and width
           : respectively.
           :
           : Usage:
           : CREATE TABLE tbl_name (i int, p1 int, p2 timestamp)
           : PARTITION BY SPEC (
           :   p1 BUCKET 10,
           :   p1 TRUNCATE 5
           : ) STORED AS ICEBERG
           : TBLPROPERTIES ('iceberg.catalog'='hadoop.tables');
> I saw you add test cases, maybe add some messages about test info? such as:
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/common/thrift/CatalogObjects.thrift
File common/thrift/CatalogObjects.thrift:

http://gerrit.cloudera.org:8080/#/c/16551/2/common/thrift/CatalogObjects.thrift@527
PS2, Line 527: transform_param
> Maybe add some explains for this variable, since this variable is only vali
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/analysis/IcebergPartitionField.java
File fe/src/main/java/org/apache/impala/analysis/IcebergPartitionField.java:

http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/analysis/IcebergPartitionField.java@42
PS2, Line 42:  Partition transform
> IcebergPartitionTransform class is not only partition type, but also contai
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/analysis/IcebergPartitionTransform.java
File fe/src/main/java/org/apache/impala/analysis/IcebergPartitionTransform.java:

http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/analysis/IcebergPartitionTransform.java@24
PS2, Line 24: /**
> Please add some comments.
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/analysis/IcebergPartitionTransform.java@54
PS2, Line 54:
> nit: Only
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/catalog/FeIcebergTable.java
File fe/src/main/java/org/apache/impala/catalog/FeIcebergTable.java:

http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/catalog/FeIcebergTable.java@247
PS2, Line 247:  Iceber
> nit: Iceberg
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/catalog/FeIcebergTable.java@247
PS2, Line 247: curren
> nit: current?
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/util/IcebergUtil.java
File fe/src/main/java/org/apache/impala/util/IcebergUtil.java:

http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/main/java/org/apache/impala/util/IcebergUtil.java@345
PS2, Line 345: in
> nit: in
Done


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java
File fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java:

http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java@4846
PS2, Line 4846:     AnalysisError("CREATE TABLE tbl1 (i int, p1 int, p2 
timestamp) " +
              :         "PARTITION BY SPEC (p1 BUCKET, p2 DAY) STORED AS 
ICEBERG" + tblProperties,
              :         "BUCKET and TRUNCATE partition transforms should have a 
parameter.");
> You could add this test for TRUNCATE as well.
As Truncate had to be handled differently in the .cup file (It was a reserved 
keyword) not giving a parameter will result a parse error instead of an 
AnalysisException. I added a test to cover this in the ParserTests


Output when not giving TRUNCATE a parameter:
ERROR: ParseException: Syntax error in line 1:
...ITION BY SPEC (p1 TRUNCATE) STORED AS ICEBERG TBLPROPE...
                             ^
Encountered: )
Expected: INTEGER LITERAL

CAUSED BY: Exception: Syntax error


http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/test/java/org/apache/impala/analysis/ParserTest.java
File fe/src/test/java/org/apache/impala/analysis/ParserTest.java:

http://gerrit.cloudera.org:8080/#/c/16551/2/fe/src/test/java/org/apache/impala/analysis/ParserTest.java@2989
PS2, Line 2989:     ParserError("CREATE TABLE tbl1 (i int, p1 int) PARTITION BY 
SPEC (p1 TRUNCATE) " +
              :         "STORED AS ICEBERG TBLPROPERTIES 
('iceberg.catalog'='hadoop.tables')");
> Also add a test for 'BUCKET'
BUCKET without parameter causes an AnalysisException hence it is included in 
the AnalyzerTests. Thi is because in the .cup I had to handle TRUNCATe 
differently because it is an already reserved keyword.



--
To view, visit http://gerrit.cloudera.org:8080/16551
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Idc75cd23045b274885607c45886319f4f6da19de
Gerrit-Change-Number: 16551
Gerrit-PatchSet: 4
Gerrit-Owner: Gabor Kaszab <gaborkas...@cloudera.com>
Gerrit-Reviewer: Gabor Kaszab <gaborkas...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <borokna...@cloudera.com>
Gerrit-Reviewer: wangsheng <sky...@163.com>
Gerrit-Comment-Date: Fri, 09 Oct 2020 11:56:18 +0000
Gerrit-HasComments: Yes

Reply via email to