CREATE TABLE T1 ... LIKE ... создание таблицы с ключом кластера, если исходная таблица определена с ключом кластера в SNowflake - PullRequest
0 голосов
/ 16 июня 2020

В документах упоминается, что снежинка не передает ключ кластера из исходной таблицы, если таблица создается с помощью 'CREATE TABLE .... LIKE .....';

Из документации:

• Существующий ключ кластеризации не распространяется, когда таблица создается с помощью CREATE TABLE… LIKE.

CREATE
    OR replace TABLE 
CUST_1GB_CL ***cluster BY (C_CUSTKEY)*** (
    C_CUSTKEY NUMBER(38, 0) NOT NULL
    ,C_NAME VARCHAR(25) NOT NULL
    ,C_ADDRESS VARCHAR(40) NOT NULL
    ,C_NATIONKEY NUMBER(38, 0) NOT NULL
    ,C_PHONE VARCHAR(15) NOT NULL
    ,C_ACCTBAL NUMBER(12, 2) NOT NULL
    ,C_MKTSEGMENT VARCHAR(10)
    ,C_COMMENT VARCHAR(117)
    ); 


create table CUST_1GB_CL3 like CUST_1GB_CL;


GET_DDL('TABLE', 'CUST_1GB_CL3')

CREATE
    OR replace TABLE 
CUST_1GB_CL3 ***cluster BY (C_CUSTKEY)*** (
    C_CUSTKEY NUMBER(38, 0) NOT NULL
    ,C_NAME VARCHAR(25) NOT NULL
    ,C_ADDRESS VARCHAR(40) NOT NULL
    ,C_NATIONKEY NUMBER(38, 0) NOT NULL
    ,C_PHONE VARCHAR(15) NOT NULL
    ,C_ACCTBAL NUMBER(12, 2) NOT NULL
    ,C_MKTSEGMENT VARCHAR(10)
    ,C_COMMENT VARCHAR(117)
    );

1 Ответ

0 голосов
/ 16 июня 2020

Это странно. Я думаю, что продолжение работы со Snowflake по этому поводу - лучший способ действий.

Если хотите, вы можете удалить ключ кластеризации в новой таблице следующим образом: ALTER TABLE IF EXISTS CUST_1GB_CL3 ​​DROP CLUSTERING KEY;

...