SnowConvert: Instruções Redshift SQL para CREATE TABLE¶
CREATE TABLE¶
Descrição¶
Cria uma nova tabela no banco de dados atual. Você define uma lista de colunas, cada uma contendo dados de um tipo distinto. O proprietário da tabela é o emissor do comando CREATE TABLE.
Para obter mais informações, consulte a documentação CREATE TABLE
.
Sintaxe da gramática¶
CREATE [ [LOCAL ] { TEMPORARY | TEMP } ] TABLE
[ IF NOT EXISTS ] table_name
( { column_name data_type [column_attributes] [ column_constraints ]
| table_constraints
| LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] }
[, ... ] )
[ BACKUP { YES | NO } ]
[table_attributes]
where column_attributes are:
[ DEFAULT default_expr ]
[ IDENTITY ( seed, step ) ]
[ GENERATED BY DEFAULT AS IDENTITY ( seed, step ) ]
[ ENCODE encoding ]
[ DISTKEY ]
[ SORTKEY ]
[ COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE ]
and column_constraints are:
[ { NOT NULL | NULL } ]
[ { UNIQUE | PRIMARY KEY } ]
[ REFERENCES reftable [ ( refcolumn ) ] ]
and table_constraints are:
[ UNIQUE ( column_name [, ... ] ) ]
[ PRIMARY KEY ( column_name [, ... ] ) ]
[ FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn ) ]
and table_attributes are:
[ DISTSTYLE { AUTO | EVEN | KEY | ALL } ]
[ DISTKEY ( column_name ) ]
[ [COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) | [ SORTKEY AUTO ] ]
[ ENCODE AUTO ]
Início da tabela¶
BACKUP¶
Descrição¶
Permite que o Amazon Redshift ajuste automaticamente o tipo de codificação de todas as colunas da tabela para otimizar o desempenho da consulta. No Snowflake, o conceito de BACKUP
, como visto em outros bancos de dados, não é diretamente aplicável. O Snowflake lida automaticamente com o backup e a recuperação de dados por meio de seus recursos integrados, como Time Travel e Fail-safe, eliminando a necessidade de operações manuais de backup. Por esses motivos, a instrução BACKUP
é removida durante o processo de transformação
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
BACKUP { YES | NO }
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
BACKUP YES;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
IF NOT EXISTS¶
Descrição¶
No Amazon Redshift, IF NOT EXISTS
é usado em comandos de criação de tabelas para evitar erros se a tabela já existir. Quando incluída, ela garante que a tabela seja criada somente se ainda não existir, evitando duplicação e erros no script SQL.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
IF NOT EXISTS
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE IF NOT EXISTS table1 (
col1 INTEGER
);
Código de saída:¶
CREATE TABLE IF NOT EXISTS table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
Não há problemas conhecidos.
LOCAL¶
Descrição¶
No Amazon Redshift, LOCAL TEMPORARY
ou TEMP
são usados para criar tabelas temporárias que existem apenas durante a sessão. Essas tabelas são específicas da sessão e são automaticamente excluídas quando a sessão termina. Eles são úteis para armazenar resultados intermediários ou dados de trabalho sem afetar o esquema permanente do banco de dados.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
LOCAL { TEMPORARY | TEMP }
Amostra de padrões da origem¶
Código de entrada:¶
CREATE LOCAL TEMPORARY TABLE table1 (
col1 INTEGER
);
Código de saída:¶
CREATE LOCAL TEMPORARY TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
Não há problemas conhecidos.
Restrições de tabela¶
FOREIGN KEY¶
Descrição¶
Restrição que especifica uma restrição de chave estrangeira, que exige que um grupo de uma ou mais colunas da nova tabela contenha apenas valores que correspondam a valores na coluna ou colunas referenciadas de alguma linha da tabela referenciada.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Aviso
A conversão para Foreign Key será entregue no futuro.
Sintaxe da gramática¶
FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table15 (
col1 INTEGER,
FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Código de saída:¶
CREATE TABLE table15 (
col1 INTEGER
-- ,
-- --** SSC-FDM-RS0003 - THE TRANSLATION FOR FOREIGN KEY IS NOT AVAILABLE, IT WILL BE PROVIDED IN THE FUTURE. **
-- FOREIGN KEY (col1) REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/26/2024" }}';
EWIs relacionados¶
SSC-FDM-RSOOO3: A conversão de chave estrangeira terá suporte no futuro.
PRIMARY KEY¶
Descrição¶
Especifica que uma coluna ou um número de colunas de uma tabela pode conter apenas valores únicos e não nulos
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.
Sintaxe da gramática¶
PRIMARY KEY ( column_name [, ... ] )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
PRIMARY KEY (col1)
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
PRIMARY KEY (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
UNIQUE¶
Descrição¶
Especifica que um grupo de uma ou mais colunas de uma tabela pode conter apenas valores exclusivos.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.
Sintaxe da gramática¶
UNIQUE ( column_name [, ... ] )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
UNIQUE ( col1, col2 )
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
UNIQUE ( col1, col2 )
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
Restrição de coluna¶
NOT NULL | NULL¶
Descrição¶
NOT NULL especifica que a coluna não pode conter valores nulos. NULL, o padrão, especifica que a coluna aceita valores nulos.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
NOT NULL | NULL
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER NOT NULL,
col2 INTEGER NULL
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER NOT NULL,
col2 INTEGER NULL
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
REFERENCES¶
Descrição¶
Especifica uma restrição de chave estrangeira, o que implica que a coluna deve conter apenas valores que correspondam a valores na coluna referenciada de alguma linha da tabela referenciada
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
REFERENCES reftable [ ( refcolumn ) ]
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER REFERENCES table_test (col1)
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
UNIQUE | PRIMARY KEY¶
Descrição¶
Especifica que a coluna pode conter apenas valores exclusivos. No Snowflake, tanto UNIQUE quanto PRIMARY KEY são usados para documentar e estruturar dados, mas eles não têm a funcionalidade de validação de dados ativa no sentido que você poderia esperar em outros sistemas de banco de dados que impõem essas restrições no nível de armazenamento.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.
Sintaxe da gramática¶
UNIQUE | PRIMARY KEY
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER PRIMARY KEY,
col2 INTEGER UNIQUE
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER PRIMARY KEY,
col2 INTEGER UNIQUE
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
Atributos da Coluna¶
COLLATE¶
Descrição¶
Especifica se a pesquisa ou comparação de strings na coluna é CASE_SENSITIVE ou CASE_INSENSITIVE.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
O idioma de agrupamento padrão é o inglês. Se o seu banco de dados usar um idioma diferente, atualize o prefixo «en-» para que corresponda ao idioma do seu banco de dados. Para obter mais informações, consulte este link.
Sintaxe da gramática¶
COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 TEXT COLLATE CASE_SENSITIVE,
col2 TEXT COLLATE CASE_INSENSITIVE
);
Código de saída:¶
CREATE TABLE table1 (
col1 TEXT COLLATE 'en-cs',
col2 TEXT COLLATE 'en-ci'
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
Problemas conhecidos¶
Não há problemas conhecidos.
DEFAULT¶
Descrição¶
Atribui um valor de dados padrão para a coluna.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DEFAULT default_expr
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER DEFAULT 1
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER DEFAULT 1
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
DISTKEY¶
Descrição¶
No Amazon Redshift, o DISTKEY
é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY
do Redshift. Por esses motivos, a instrução DISTKEY
é removida durante o processo de transformação
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DISTKEY
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER DISTKEY
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
ENCODE¶
Descrição¶
A codificação de compressão de uma coluna. No Snowflake, a definição de ENCODE
é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
ENCODE encoding
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER ENCODE DELTA
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
GENERATED BY DEFAULT AS IDENTITY¶
Descrição¶
Especifica que a coluna é uma coluna padrão IDENTITY e permite que você atribua automaticamente um valor exclusivo à coluna.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER IDENTITY(1,1) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
IDENTITY¶
Descrição¶
Cláusula que especifica que a coluna é uma coluna IDENTITY. (Identidade de referência da linguagem RedShift SQL).
Sintaxe da gramática¶
IDENTITY ( seed, step )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
doc INTEGER,
id1 INTEGER IDENTITY(1,1),
id2 INTEGER DEFAULT "identity"(674435, 0, ('5,3'::character varying)::text),
id3 INTEGER DEFAULT default_identity(963861, 1, '1,2'::text),
id4 INTEGER DEFAULT "default_identity"(963861, 1, '1,6'::text)
);
INSERT INTO table1 (doc) VALUES (1),(2),(3);
SELECT * FROM table1;
DOC |
ID1 |
ID2 |
ID3 |
ID4 |
---|---|---|---|---|
1 |
1 |
5 |
1 |
1 |
2 |
2 |
8 |
3 |
7 |
3 |
3 |
11 |
5 |
13 |
Código de saída:¶
CREATE TABLE table1 (
doc INTEGER,
id1 INTEGER IDENTITY(1,1) ORDER,
id2 INTEGER IDENTITY(5,3) ORDER,
id3 INTEGER IDENTITY(1,2) ORDER,
id4 INTEGER IDENTITY(1,6) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "12/04/2024", "domain": "test" }}';
INSERT INTO table1 (doc) VALUES (1),(2),(3);
SELECT * FROM
table1;
DOC |
ID1 |
ID2 |
ID3 |
ID4 |
---|---|---|---|---|
1 |
1 |
5 |
1 |
1 |
2 |
2 |
8 |
3 |
7 |
3 |
3 |
11 |
5 |
13 |
Problemas conhecidos ¶
Não foram encontrados problemas.
EWIs relacionados¶
Não há problemas conhecidos.
SORTKEY¶
Descrição¶
A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY
do Redshift pode ser migrado para o CLUSTER BY
porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY
no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY
ordena os dados no Redshift.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
SORTKEY
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER SORTKEY
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
Problemas conhecidos¶
SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey ou Distkey.
Atributos da tabela¶
DISTKEY¶
Descrição¶
No Amazon Redshift, o DISTKEY
é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY
do Redshift.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DISTKEY ( column_name )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
DISTKEY (col1);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTKEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "03/03/2025", "domain": "test" }}';
EWIs relacionados¶
SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.
DISTSTYLE¶
Descrição¶
Palavra-chave que define o estilo de distribuição de dados para toda a tabela.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DISTSTYLE { AUTO | EVEN | KEY | ALL }
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
DISTSTYLE AUTO;
CREATE TABLE table2 (
col1 INTEGER
)
DISTSTYLE EVEN;
CREATE TABLE table3 (
col1 INTEGER
)
DISTSTYLE KEY
DISTKEY (col1);
CREATE TABLE table4 (
col1 INTEGER
)
DISTSTYLE ALL;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
CREATE TABLE table2 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE EVEN OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE EVEN
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
CREATE TABLE table3 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE KEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE KEY
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
CREATE TABLE table4 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE ALL OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE ALL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.
ENCODE¶
Descrição¶
No Snowflake, a definição de ENCODE
é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
ENCODE AUTO
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
ENCODE AUTO;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
SORTKEY¶
Descrição¶
A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY
do Redshift pode ser migrado para o CLUSTER BY
porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY
no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY
ordena os dados no Redshift.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
[COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) | [ SORTKEY AUTO ]
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 VARCHAR,
col3 INTEGER,
col4 INTEGER
)
COMPOUND SORTKEY (col1, col3);
CREATE TABLE table2 (
col1 INTEGER
)
INTERLEAVED SORTKEY (col1);
CREATE TABLE table3 (
col1 INTEGER
)
SORTKEY AUTO;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 VARCHAR,
col3 INTEGER,
col4 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1, col3)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
CREATE TABLE table2 (
col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
CREATE TABLE table3 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - SORTKEY AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--SORTKEY AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.
SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey.
CREATE TABLE¶
Descrição¶
Cria uma nova tabela no banco de dados atual. Você define uma lista de colunas, cada uma contendo dados de um tipo distinto. O proprietário da tabela é o emissor do comando CREATE TABLE.
Para obter mais informações, consulte a documentação CREATE TABLE
.
Sintaxe da gramática¶
CREATE [ [LOCAL ] { TEMPORARY | TEMP } ] TABLE
[ IF NOT EXISTS ] table_name
( { column_name data_type [column_attributes] [ column_constraints ]
| table_constraints
| LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] }
[, ... ] )
[ BACKUP { YES | NO } ]
[table_attributes]
where column_attributes are:
[ DEFAULT default_expr ]
[ IDENTITY ( seed, step ) ]
[ GENERATED BY DEFAULT AS IDENTITY ( seed, step ) ]
[ ENCODE encoding ]
[ DISTKEY ]
[ SORTKEY ]
[ COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE ]
and column_constraints are:
[ { NOT NULL | NULL } ]
[ { UNIQUE | PRIMARY KEY } ]
[ REFERENCES reftable [ ( refcolumn ) ] ]
and table_constraints are:
[ UNIQUE ( column_name [, ... ] ) ]
[ PRIMARY KEY ( column_name [, ... ] ) ]
[ FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn ) ]
and table_attributes are:
[ DISTSTYLE { AUTO | EVEN | KEY | ALL } ]
[ DISTKEY ( column_name ) ]
[ [COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) | [ SORTKEY AUTO ] ]
[ ENCODE AUTO ]
Início da tabela¶
BACKUP¶
Descrição¶
Permite que o Amazon Redshift ajuste automaticamente o tipo de codificação de todas as colunas da tabela para otimizar o desempenho da consulta. No Snowflake, o conceito de BACKUP
, como visto em outros bancos de dados, não é diretamente aplicável. O Snowflake lida automaticamente com o backup e a recuperação de dados por meio de seus recursos integrados, como Time Travel e Fail-safe, eliminando a necessidade de operações manuais de backup. Por esses motivos, a instrução BACKUP
é removida durante o processo de transformação
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
BACKUP { YES | NO }
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
BACKUP YES;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
IF NOT EXISTS¶
Descrição¶
No Amazon Redshift, IF NOT EXISTS
é usado em comandos de criação de tabelas para evitar erros se a tabela já existir. Quando incluída, ela garante que a tabela seja criada somente se ainda não existir, evitando duplicação e erros no script SQL.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
IF NOT EXISTS
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE IF NOT EXISTS table1 (
col1 INTEGER
);
Código de saída:¶
CREATE TABLE IF NOT EXISTS table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
Não há problemas conhecidos.
LOCAL¶
Descrição¶
No Amazon Redshift, LOCAL TEMPORARY
ou TEMP
são usados para criar tabelas temporárias que existem apenas durante a sessão. Essas tabelas são específicas da sessão e são automaticamente excluídas quando a sessão termina. Eles são úteis para armazenar resultados intermediários ou dados de trabalho sem afetar o esquema permanente do banco de dados.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
LOCAL { TEMPORARY | TEMP }
Amostra de padrões da origem¶
Código de entrada:¶
CREATE LOCAL TEMPORARY TABLE table1 (
col1 INTEGER
);
Código de saída:¶
CREATE LOCAL TEMPORARY TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
Não há problemas conhecidos.
Restrições de tabela¶
FOREIGN KEY¶
Descrição¶
Restrição que especifica uma restrição de chave estrangeira, que exige que um grupo de uma ou mais colunas da nova tabela contenha apenas valores que correspondam a valores na coluna ou colunas referenciadas de alguma linha da tabela referenciada.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Aviso
A conversão para Foreign Key será entregue no futuro.
Sintaxe da gramática¶
FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table15 (
col1 INTEGER,
FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Código de saída:¶
CREATE TABLE table15 (
col1 INTEGER
-- ,
-- --** SSC-FDM-RS0003 - THE TRANSLATION FOR FOREIGN KEY IS NOT AVAILABLE, IT WILL BE PROVIDED IN THE FUTURE. **
-- FOREIGN KEY (col1) REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/26/2024" }}';
EWIs relacionados¶
SSC-FDM-RSOOO3: A conversão de chave estrangeira terá suporte no futuro.
PRIMARY KEY¶
Descrição¶
Especifica que uma coluna ou um número de colunas de uma tabela pode conter apenas valores únicos e não nulos
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.
Sintaxe da gramática¶
PRIMARY KEY ( column_name [, ... ] )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
PRIMARY KEY (col1)
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
PRIMARY KEY (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
UNIQUE¶
Descrição¶
Especifica que um grupo de uma ou mais colunas de uma tabela pode conter apenas valores exclusivos.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.
Sintaxe da gramática¶
UNIQUE ( column_name [, ... ] )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
UNIQUE ( col1, col2 )
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
UNIQUE ( col1, col2 )
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
Restrição de coluna¶
NOT NULL | NULL¶
Descrição¶
NOT NULL especifica que a coluna não pode conter valores nulos. NULL, o padrão, especifica que a coluna aceita valores nulos.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
NOT NULL | NULL
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER NOT NULL,
col2 INTEGER NULL
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER NOT NULL,
col2 INTEGER NULL
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
REFERENCES¶
Descrição¶
Especifica uma restrição de chave estrangeira, o que implica que a coluna deve conter apenas valores que correspondam a valores na coluna referenciada de alguma linha da tabela referenciada
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
REFERENCES reftable [ ( refcolumn ) ]
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER REFERENCES table_test (col1)
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
UNIQUE | PRIMARY KEY¶
Descrição¶
Especifica que a coluna pode conter apenas valores exclusivos. No Snowflake, tanto UNIQUE quanto PRIMARY KEY são usados para documentar e estruturar dados, mas eles não têm a funcionalidade de validação de dados ativa no sentido que você poderia esperar em outros sistemas de banco de dados que impõem essas restrições no nível de armazenamento.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.
Sintaxe da gramática¶
UNIQUE | PRIMARY KEY
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER PRIMARY KEY,
col2 INTEGER UNIQUE
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER PRIMARY KEY,
col2 INTEGER UNIQUE
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
Atributos da Coluna¶
COLLATE¶
Descrição¶
Especifica se a pesquisa ou comparação de strings na coluna é CASE_SENSITIVE ou CASE_INSENSITIVE.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Nota
O idioma de agrupamento padrão é o inglês. Se o seu banco de dados usar um idioma diferente, atualize o prefixo «en-» para que corresponda ao idioma do seu banco de dados. Para obter mais informações, consulte este link.
Sintaxe da gramática¶
COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 TEXT COLLATE CASE_SENSITIVE,
col2 TEXT COLLATE CASE_INSENSITIVE
);
Código de saída:¶
CREATE TABLE table1 (
col1 TEXT COLLATE 'en-cs',
col2 TEXT COLLATE 'en-ci'
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
Problemas conhecidos¶
Não há problemas conhecidos.
DEFAULT¶
Descrição¶
Atribui um valor de dados padrão para a coluna.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DEFAULT default_expr
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER DEFAULT 1
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER DEFAULT 1
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
DISTKEY¶
Descrição¶
No Amazon Redshift, o DISTKEY
é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY
do Redshift. Por esses motivos, a instrução DISTKEY
é removida durante o processo de transformação
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DISTKEY
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER DISTKEY
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
ENCODE¶
Descrição¶
A codificação de compressão de uma coluna. No Snowflake, a definição de ENCODE
é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
ENCODE encoding
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER ENCODE DELTA
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
GENERATED BY DEFAULT AS IDENTITY¶
Descrição¶
Especifica que a coluna é uma coluna padrão IDENTITY e permite que você atribua automaticamente um valor exclusivo à coluna.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER IDENTITY(1,1) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
IDENTITY¶
Descrição¶
Cláusula que especifica que a coluna é uma coluna IDENTITY. (Identidade de referência da linguagem RedShift SQL).
Sintaxe da gramática¶
IDENTITY ( seed, step )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
doc INTEGER,
id1 INTEGER IDENTITY(1,1),
id2 INTEGER DEFAULT "identity"(674435, 0, ('5,3'::character varying)::text),
id3 INTEGER DEFAULT default_identity(963861, 1, '1,2'::text),
id4 INTEGER DEFAULT "default_identity"(963861, 1, '1,6'::text)
);
INSERT INTO table1 (doc) VALUES (1),(2),(3);
SELECT * FROM table1;
DOC |
ID1 |
ID2 |
ID3 |
ID4 |
---|---|---|---|---|
1 |
1 |
5 |
1 |
1 |
2 |
2 |
8 |
3 |
7 |
3 |
3 |
11 |
5 |
13 |
Código de saída:¶
CREATE TABLE table1 (
doc INTEGER,
id1 INTEGER IDENTITY(1,1) ORDER,
id2 INTEGER IDENTITY(5,3) ORDER,
id3 INTEGER IDENTITY(1,2) ORDER,
id4 INTEGER IDENTITY(1,6) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "12/04/2024", "domain": "test" }}';
INSERT INTO table1 (doc) VALUES (1),(2),(3);
SELECT * FROM
table1;
DOC |
ID1 |
ID2 |
ID3 |
ID4 |
---|---|---|---|---|
1 |
1 |
5 |
1 |
1 |
2 |
2 |
8 |
3 |
7 |
3 |
3 |
11 |
5 |
13 |
Problemas conhecidos ¶
Não foram encontrados problemas.
EWIs relacionados¶
Não há problemas conhecidos.
SORTKEY¶
Descrição¶
A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY
do Redshift pode ser migrado para o CLUSTER BY
porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY
no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY
ordena os dados no Redshift.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
SORTKEY
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER SORTKEY
);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
Problemas conhecidos¶
SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey ou Distkey.
Atributos da tabela¶
DISTKEY¶
Descrição¶
No Amazon Redshift, o DISTKEY
é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY
do Redshift.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DISTKEY ( column_name )
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
DISTKEY (col1);
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTKEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "03/03/2025", "domain": "test" }}';
EWIs relacionados¶
SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.
DISTSTYLE¶
Descrição¶
Palavra-chave que define o estilo de distribuição de dados para toda a tabela.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
DISTSTYLE { AUTO | EVEN | KEY | ALL }
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
DISTSTYLE AUTO;
CREATE TABLE table2 (
col1 INTEGER
)
DISTSTYLE EVEN;
CREATE TABLE table3 (
col1 INTEGER
)
DISTSTYLE KEY
DISTKEY (col1);
CREATE TABLE table4 (
col1 INTEGER
)
DISTSTYLE ALL;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
CREATE TABLE table2 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE EVEN OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE EVEN
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
CREATE TABLE table3 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE KEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE KEY
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
CREATE TABLE table4 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE ALL OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE ALL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.
ENCODE¶
Descrição¶
No Snowflake, a definição de ENCODE
é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.
Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
ENCODE AUTO
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER
)
ENCODE AUTO;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
EWIs relacionados¶
Não há problemas conhecidos.
SORTKEY¶
Descrição¶
A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY
do Redshift pode ser migrado para o CLUSTER BY
porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY
no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY
ordena os dados no Redshift.
Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.
Sintaxe da gramática¶
[COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) | [ SORTKEY AUTO ]
Amostra de padrões da origem¶
Código de entrada:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 VARCHAR,
col3 INTEGER,
col4 INTEGER
)
COMPOUND SORTKEY (col1, col3);
CREATE TABLE table2 (
col1 INTEGER
)
INTERLEAVED SORTKEY (col1);
CREATE TABLE table3 (
col1 INTEGER
)
SORTKEY AUTO;
Código de saída:¶
CREATE TABLE table1 (
col1 INTEGER,
col2 VARCHAR,
col3 INTEGER,
col4 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1, col3)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
CREATE TABLE table2 (
col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}'
;
CREATE TABLE table3 (
col1 INTEGER
)
----** SSC-FDM-RS0001 - SORTKEY AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--SORTKEY AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "09/17/2024" }}';
EWIs relacionados¶
SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.
SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey.