Vihang Karajgaonkar has posted comments on this change. ( http://gerrit.cloudera.org:8080/15149 )
Change subject: IMPALA-9337 [DOCS] Document new way to create external Kudu table in Impala ...................................................................... Patch Set 2: (4 comments) Thanks for documenting this. http://gerrit.cloudera.org:8080/#/c/15149/2//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/15149/2//COMMIT_MSG@10 PS2, Line 10: Internal I think the usage of word "Internal" is confused. Users are familiar with "managed" and "external" table. http://gerrit.cloudera.org:8080/#/c/15149/2//COMMIT_MSG@11 PS2, Line 11: TBLPROPERTIES See my comment later, the tblproperties syntax only applies when creating the external table with explicit column spec. http://gerrit.cloudera.org:8080/#/c/15149/2/docs/topics/impala_create_table.xml File docs/topics/impala_create_table.xml: http://gerrit.cloudera.org:8080/#/c/15149/2/docs/topics/impala_create_table.xml@241 PS2, Line 241: TBLPROPERTIES [('kudu.table_name'='<varname>internal_kudu_name</varname>')] | [('external.table.purge'='true')] [,('<varname>key1</varname>'='<varname>value1</varname>', '<varname>key2</varname>'='<varname>value2</varname>', ...)] I think this may be confusing to some users since 'external.table.purge'='true' property must be used only when we provide the column spec like in case of managed table. I think may be we should modify the kudu tables SQL syntax as follows: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name (col_name data_type [kudu_column_attribute ...] [COMMENT 'col_comment'] [, ...] [PRIMARY KEY (col_name[, ...])] ) [PARTITION BY kudu_partition_clause] [COMMENT 'table_comment'] STORED AS KUDU [TBLPROPERTIES ('key1'='value1', 'key2'='value2', ...)] | [('external.table.purge'='true', 'key1'='value1',...)] Also, in the section Kudu considerations, can we add a section which talks about such external tables? Something like: >From version 3.4 and above, when Impala is integrated with Hive metastore 3, >managed Kudu tables are translated by default to external Kudu tables by HMS >with 'external.table.purge' property set to true. Such synchronized tables >behave similar to managed tables. A drop table command on such a table will >remove the underlying Kudu table. Similarly, a alter table rename ... command >will rename the underlying Kudu table. Users can also explicitly create such >external Kudu tables similar to managed Kudu tables. An example of creating >such tables is given below. The table property 'external.table.purge' must be >set to true. CREATE EXTERNAL TABLE myextkudutbl ( id int PRIMARY KEY, name string) PARTITION BY HASH PARTITIONS 8 STORED AS KUDU TBLPROPERTIES ('external.table.purge'='true') http://gerrit.cloudera.org:8080/#/c/15149/2/docs/topics/impala_create_table.xml@248 PS2, Line 248: you do not need to create a pre-existing schema in Kudu before : creating an external Kudu table in Impala Creating a external table on a pre-exiting schema in Kudu is still a valid use-case. May be change the wording such that we say that an alternative way to create external table is ... and tell some of the differences between the two. -- To view, visit http://gerrit.cloudera.org:8080/15149 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic07380fd53898dd21fbb5dacb4d9f7a84f160d4e Gerrit-Change-Number: 15149 Gerrit-PatchSet: 2 Gerrit-Owner: Anonymous Coward <kh...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Joe McDonnell <joemcdonn...@cloudera.com> Gerrit-Reviewer: Vihang Karajgaonkar <vih...@cloudera.com> Gerrit-Comment-Date: Mon, 03 Feb 2020 18:57:37 +0000 Gerrit-HasComments: Yes