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

Reply via email to