Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di CTAS
Il seguente esempio crea una tabella chiamata EVENT_BACKUP per la tabella EVENT:
create table event_backup as select * from event;
La tabella risultante eredita le chiavi di distribuzione e ordinamento dalla tabella EVENT.
select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'event_backup'; column | type | encoding | distkey | sortkey ----------+-----------------------------+----------+---------+-------- catid | smallint | none | false | 0 dateid | smallint | none | false | 1 eventid | integer | none | true | 0 eventname | character varying(200) | none | false | 0 starttime | timestamp without time zone | none | false | 0 venueid | smallint | none | false | 0
Il seguente comando crea una nuova tabella chiamata EVENTDISTSORT selezionando quattro colonne dalla tabella EVENT. La nuova tabella viene distribuita da EVENTID e ordinata per EVENTID e DATEID:
create table eventdistsort distkey (1) sortkey (1,3) as select eventid, venueid, dateid, eventname from event;
Il risultato è illustrato di seguito.
select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdistsort'; column | type | encoding | distkey | sortkey ---------+------------------------+----------+---------+------- eventid | integer | none | t | 1 venueid | smallint | none | f | 0 dateid | smallint | none | f | 2 eventname | character varying(200)| none | f | 0
Puoi creare esattamente la stessa tabella utilizzando i nomi delle colonne per le chiavi di distribuzione e ordinamento. Ad esempio:
create table eventdistsort1 distkey (eventid) sortkey (eventid, dateid) as select eventid, venueid, dateid, eventname from event;
La seguente istruzione applica la distribuzione uniforme alla tabella ma non definisce una chiave di ordinamento esplicita.
create table eventdisteven diststyle even as select eventid, venueid, dateid, eventname from event;
La tabella non eredita la chiave di ordinamento dalla tabella EVENT (EVENTID) perché la distribuzione EVEN è specificata per la nuova tabella. La nuova tabella non ha la chiave di ordinamento e la chiave di distribuzione.
select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdisteven'; column | type | encoding | distkey | sortkey ----------+------------------------+----------+---------+--------- eventid | integer | none | f | 0 venueid | smallint | none | f | 0 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0
La seguente istruzione applica la distribuzione uniforme e definisce una chiave di ordinamento:
create table eventdistevensort diststyle even sortkey (venueid) as select eventid, venueid, dateid, eventname from event;
La tabella risultante ha una chiave di ordinamento ma non una chiave di distribuzione.
select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdistevensort'; column | type | encoding | distkey | sortkey ----------+------------------------+----------+---------+------- eventid | integer | none | f | 0 venueid | smallint | none | f | 1 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0
La seguente istruzione ridistribuisce la tabella EVENT su una colonna chiave diversa dai dati in entrata che sono ordinati sulla colonna EVENTID e non definisce la colonna SORTKEY e quindi la tabella non è ordinata.
create table venuedistevent distkey(venueid) as select * from event;
Il risultato è illustrato di seguito.
select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'venuedistevent'; column | type | encoding | distkey | sortkey ----------+-----------------------------+----------+---------+------- eventid | integer | none | f | 0 venueid | smallint | none | t | 0 catid | smallint | none | f | 0 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0 starttime | timestamp without time zone | none | f | 0