CREATE EXTERNAL TABLE - Amazon Redshift

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à.

CREATE EXTERNAL TABLE

Crea una nuova tabella esterna nello schema specificato. Tutte le tabelle esterne devono essere create in uno schema esterno. Il percorso di ricerca non è supportato per schemi esterni e tabelle esterne. Per ulteriori informazioni, consulta CREATE EXTERNAL SCHEMA.

Oltre alle tabelle esterne create utilizzando il CREATE EXTERNAL TABLE comando, Amazon Redshift può fare riferimento a tabelle esterne definite in un AWS Lake Formation catalogo AWS Glue or o in un metastore Apache Hive. Utilizzare il comando CREATE EXTERNAL SCHEMA per registrare un database esterno definito nel catalogo esterno e rendere disponibili le tabelle esterne per l'uso in Amazon Redshift. Se la tabella esterna esiste in un AWS Lake Formation catalogo AWS Glue o in un metastore Hive, non è necessario creare la tabella utilizzando. CREATE EXTERNAL TABLE Per visualizzare le tabelle esterne, eseguire una query sulla vista di sistema SVV_EXTERNAL_TABLES.

Eseguendo il comando CREATE EXTERNAL TABLE AS, puoi creare una tabella esterna basata sulla definizione di colonna di una query e scrivere i risultati di tale query in Amazon S3. I risultati sono in formato Apache Parquet o testo delimitato. Se la tabella esterna dispone di una o più chiavi di partizione, Amazon Redshift partiziona i nuovi file in base a tali chiavi di partizione e registra automaticamente le nuove partizioni nel catalogo esterno. Per ulteriori informazioni su CREATE EXTERNAL TABLE AS, consultaNote per l'utilizzo.

Puoi interrogare una tabella esterna utilizzando la stessa SELECT sintassi che usi con altre tabelle Amazon Redshift. Puoi anche utilizzare la INSERT sintassi per scrivere nuovi file nella posizione della tabella esterna su Amazon S3. Per ulteriori informazioni, consulta INSERT(tabella esterna).

Per creare una vista con una tabella esterna, includi la SCHEMA BINDING clausola WITH NO nell'istruzione. CREATE VIEW

Non puoi eseguire una transazione CREATE EXTERNAL TABLE all'interno di una transazione (BEGIN...END). Per ulteriori informazioni sulle transazioni, consultare Isolamento serializzabile.

Privilegi richiesti

Per creare tabelle esterne, devi essere il proprietario dello schema esterno o un utente con privilegi avanzati. Per trasferire la proprietà di uno schema esterno, usa ALTER SCHEMA per cambiare il proprietario. L'accesso alle tabelle esterne è controllato dall'accesso allo schema esterno. Non puoi GRANT o REVOKE autorizzazioni per una tabella esterna. Concedi o revoca invece USAGE sullo schema esterno.

Note per l'utilizzo dispone di informazioni aggiuntive sulle autorizzazioni specifiche per le tabelle esterne.

Sintassi

CREATE EXTERNAL TABLE
external_schema.table_name
(column_name data_type [, …] )
[ PARTITIONED BY (col_name data_type [, … ] )]
[ { ROW FORMAT DELIMITED row_format |
  ROW FORMAT SERDE 'serde_name'
  [ WITH SERDEPROPERTIES ( 'property_name' = 'property_value' [, ...] ) ] } ]
STORED AS file_format
LOCATION { 's3://bucket/folder/' | 's3://bucket/manifest_file' }
[ TABLE PROPERTIES ( 'property_name'='property_value' [, ...] ) ]

Di seguito è riportata la sintassi di AS. CREATE EXTERNAL TABLE

CREATE EXTERNAL TABLE
external_schema.table_name
[ PARTITIONED BY (col_name [, … ] ) ]
[ ROW FORMAT DELIMITED row_format ]
STORED AS file_format
LOCATION { 's3://bucket/folder/' }
[ TABLE PROPERTIES ( 'property_name'='property_value' [, ...] ) ]
 AS
 { select_statement }
         

Parametri

external_schema.table_name

Nome della tabella da creare, qualificato da un nome di schema esterno. Le tabelle esterne devono essere create in uno schema esterno. Per ulteriori informazioni, consulta CREATE EXTERNAL SCHEMA.

La lunghezza massima per il nome della tabella è 127 byte; i nomi più lunghi vengono troncati a 127 byte. È possibile utilizzare UTF -8 caratteri multibyte fino a un massimo di quattro byte. Amazon Redshift applica un limite di 9.900 tabelle per cluster, comprese le tabelle temporanee definite dall'utente e le tabelle temporanee create da Amazon Redshift durante l'elaborazione delle query o la manutenzione del sistema. Facoltativamente, puoi qualificare il nome della tabella con il nome del database. Nell'esempio seguente, il nome del database è spectrum_db, il nome dello schema esterno è spectrum_schema e il nome della tabella è test.

create external table spectrum_db.spectrum_schema.test (c1 int) stored as parquet location 's3://amzn-s3-demo-bucket/myfolder/';

Se il database o lo schema specificato non esiste, la tabella non viene creata e l'istruzione restituisce un errore. Non è possibile creare tabelle o viste nei database di sistema template0, template1, padb_harvest o sys:internal.

Il nome della tabella deve essere un nome univoco per lo schema specificato.

Per ulteriori informazioni sui nomi validi, consultare Nomi e identificatori.

( column_name data_type )

Il nome e il tipo di dati di ciascuna colonna creata.

La lunghezza massima per il nome della colonna è 127 byte; i nomi più lunghi vengono troncati a 127 byte. È possibile utilizzare UTF -8 caratteri multibyte fino a un massimo di quattro byte. Non puoi specificare i nomi di colonna "$path" o "$size". Per ulteriori informazioni sui nomi validi, consultare Nomi e identificatori.

Per impostazione predefinita, Amazon Redshift crea tabelle esterne con le pseudocolonne $path e $size. Puoi disabilitare la creazione di pseudocolonne per una sessione impostando il parametro di configurazione spectrum_enable_pseudo_columns su false. Per ulteriori informazioni, consulta Pseudocolonne .

Se le pseudocolonne sono abilitate, il numero massimo di colonne che è possibile definire in una singola tabella è 1.598. Se le pseudocolonne non sono abilitate, il numero massimo di colonne che puoi definire in una singola tabella è 1.600.

Se stai creando una "tabella di grandi dimensioni", assicurati che il tuo elenco di colonne non superi i limiti della larghezza delle righe per i risultati intermedi durante i carichi e l'elaborazione delle query. Per ulteriori informazioni, consulta Note per l'utilizzo.

Per un comando CREATE EXTERNAL TABLE AS, non è necessario un elenco di colonne, poiché le colonne derivano dalla query.

data_type

Sono supportate le seguenti Tipi di dati:

  • SMALLINT (INT2)

  • INTEGER (INT, INT4)

  • BIGINT (INT8)

  • DECIMAL (NUMERIC)

  • REAL (FLOAT4)

  • DOUBLE PRECISION (FLOAT8)

  • BOOLEAN (BOOL)

  • CHAR (CHARACTER)

  • VARCHAR (CHARACTER VARYING)

  • VARBYTE(CHARACTERVARYING) — può essere utilizzato con Parquet e file di ORC dati e solo con tabelle non partizionate.

  • DATE— può essere utilizzato solo con file di testo, Parquet o di ORC dati o come colonna di partizione.

  • TIMESTAMP

InfattiDATE, è possibile utilizzare i formati come descritto di seguito. Per i valori mensili rappresentati tramite cifre, sono supportati i seguenti formati:

  • mm-dd-yyyy, ad esempio, 05-01-2017. Questa è l'impostazione predefinita.

  • yyyy-mm-dd, dove l'anno è rappresentato da più di 2 cifre. Ad esempio 2017-05-01.

Per i valori mensili rappresentati tramite l'abbreviazione di tre lettere, sono supportati i seguenti formati:

  • mmm-dd-yyyy, ad esempio, may-01-2017. Questa è l'impostazione predefinita.

  • dd-mmm-yyyy, dove l'anno è rappresentato da più di 2 cifre. Ad esempio 01-may-2017.

  • yyyy-mmm-dd, dove l'anno è rappresentato da più di 2 cifre. Ad esempio 2017-may-01.

Per i valori dell'anno che sono costantemente inferiori a 100, l'anno viene calcolato nel modo seguente:

  • Se l'anno è inferiore a 70, l'anno viene calcolato come anno più 2000. Ad esempio, la data 05-01-17 nel formato mm-dd-yyyy viene convertito in 05-01-2017.

  • Se l'anno è inferiore a 100 ma superiore a 69, l'anno viene calcolato come anno più 1900. Ad esempio, la data 05-01-89 nel formato mm-dd-yyyy viene convertito in 05-01-1989.

  • Per i valori dell'anno rappresentati da due cifre, aggiungi zeri iniziali per rappresentare l'anno in 4 cifre.

I valori di timestamp nei file di testo devono essere nel formato yyyy-mm-dd HH:mm:ss.SSSSSS, come il seguente valore di timestamp 2017-05-01 11:30:59.000000.

La lunghezza di una VARCHAR colonna è definita in byte, non in caratteri. Ad esempio, una colonna VARCHAR (12) può contenere 12 caratteri a byte singolo o 6 caratteri a due byte. Quando invii una query a una tabella esterna, i risultati sono troncati in modo da essere compatibili con le dimensioni definite della colonna senza restituire un errore. Per ulteriori informazioni, consulta Storage e intervalli.

Per garantire le prestazioni migliori, consigliamo di specificare le dimensioni della colonna più piccole compatibili con i dati. Per trovare la dimensione massima in byte per i valori in una colonna, utilizzare la funzione _. OCTET LENGTH Nell'esempio seguente viene restituita la dimensione massima dei valori nella colonna dell'e-mail.

select max(octet_length(email)) from users; max --- 62
PARTITIONEDBY (col_name data_type [,...])

Una clausola che definisce una tabella partizionata con una o più colonne di partizione. Viene utilizzata una directory di dati separata per ciascuna combinazione specificata, che può migliorare le prestazioni della query in alcune circostanze. Le colonne partizionate non esistono all'interno dei dati della tabella stessa. Se usi un valore per col_name uguale a una colonna della tabella, viene restituito un errore.

Dopo aver creato una tabella partizionata, modificatela utilizzando un'ADDPARTITIONistruzioneALTER TABLE... per registrare nuove partizioni nel catalogo esterno. Quando si aggiunge una partizione, si definisce la posizione della sottocartella su Amazon S3 contenenti i dati della partizione.

Ad esempio, se la tabella spectrum.lineitem_part è definita conPARTITIONED BY (l_shipdate date), esegui il ALTER TABLE comando seguente per aggiungere una partizione.

ALTER TABLE spectrum.lineitem_part ADD PARTITION (l_shipdate='1992-01-29') LOCATION 's3://spectrum-public/lineitem_partition/l_shipdate=1992-01-29';

Se utilizzi CREATE EXTERNAL TABLE AS, non è necessario eseguire ALTERTABLE... ADDPARTITION. Amazon Redshift registra automaticamente le nuove partizioni nel catalogo esterno. Amazon Redshift scrive inoltre automaticamente i dati corrispondenti nelle partizioni Amazon S3 in base alla chiave o alle chiavi di partizione definite nella tabella.

Per visualizzare le partizioni, eseguire una query sulla vista di sistema SVV_EXTERNAL_PARTITIONS.

Nota

Per un comando CREATE EXTERNAL TABLE AS, non è necessario specificare il tipo di dati della colonna di partizione perché questa colonna è derivata dalla query.

ROWFORMATDELIMITEDformato di riga

Clausola che specifica il formato dei dati sottostanti. I valori possibili di rowformat sono indicati di seguito:

  • LINESTERMINATEDDI 'delimiter'

  • FIELDSTERMINATEDDA 'delimiter'

Specificare un singolo ASCII carattere per 'delimiter'. È possibile specificare ASCII caratteri non stampabili utilizzando l'ottale, nel formato in '\ ddd'cui dè una cifra ottale (0—7) fino a '\ 177'. L'esempio seguente specifica il carattere (bell) utilizzando l'ottale. BEL

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\007'

Se ROW FORMAT viene omesso, il formato predefinito è DELIMITED FIELDS TERMINATED BY '\ A' (inizio del titolo) e LINES TERMINATED BY'\n'(nuova riga).

ROWFORMATSERDE'nome_server'
[WITHSERDEPROPERTIES('property_name' = 'property_value' [,...])]

Una clausola che specifica il formato dei dati sottostanti. SERDE

'serde_name'

Il nome di. SerDe È possibile specificare utilizzando i seguenti formati.

  • org.apache.hadoop.hive.serde2. RegexSerDe

  • com.amazonaws.glue.serde. GrokSerDe

  • org.apache.hadoop.hive.Serde2.o penCSVSerde

    Questo parametro supporta la seguente proprietà per O: SerDe penCSVSerde

    'wholeFile' = 'true'

    Imposta la wholeFile proprietà su true per analizzare correttamente i nuovi caratteri di riga (\n) all'interno delle stringhe tra virgolette per le richieste Open. CSV

  • org.openx.data.jsonserde. JsonSerDe

    • Supporta JSON SERDE anche i file Ion.

    • JSONDevono essere ben formati.

    • I timestamp sono in Ion e JSON devono utilizzare ISO86 il formato 01.

    • Questo parametro supporta la seguente SerDe proprietà per: JsonSerDe

      'strip.outer.array'='true'

      Elabora JSON file Ion/ contenenti un array molto grande racchiuso tra parentesi esterne ([...]) come se contenesse più JSON record all'interno dell'array.

  • com.amazon.ionhiveserde. IonHiveSerDe

    Il ION formato Amazon fornisce formati di testo e binari, oltre ai tipi di dati. Per una tabella esterna che fa riferimento ai dati in ION formato, mappi ogni colonna della tabella esterna all'elemento corrispondente nei dati di ION formato. Per ulteriori dettagli, consultare Amazon Ion. È inoltre necessario specificare i formati di input e di output.

WITHSERDEPROPERTIES('property_name' = 'property_value' [,...])]

Facoltativamente, specifica i nomi e i valori delle proprietà, separati da virgole.

Se ROW FORMAT viene omesso, il formato predefinito è DELIMITED FIELDS TERMINATED BY '\ A' (inizio del titolo) e LINES TERMINATED BY'\n'(nuova riga).

STOREDAS file_format

Il formato per i file di dati.

I formati validi sono:

  • PARQUET

  • RCFILE( ColumnarSerDe solo per uso di dati, non) LazyBinaryColumnarSerDe

  • SEQUENCEFILE

  • TEXTFILE(per file di testo, inclusi JSON i file).

  • ORC

  • AVRO

  • INPUTFORMAT'input_format_classname' 'output_format_classname' OUTPUTFORMAT

Il CREATE EXTERNAL TABLE comando AS supporta solo due formati di file e. TEXTFILE PARQUET

Per INPUTFORMAT eOUTPUTFORMAT, specificate un nome di classe, come illustrato nell'esempio seguente.

'org.apache.hadoop.mapred.TextInputFormat'
LOCATION{'s3://bucket/folder /' | 's3://bucket/manifest_file '}

Il percorso della cartella o del bucket Amazon S3 con i file di dati o un file manifest che contiene un elenco di percorsi di oggetti Amazon S3. I bucket devono trovarsi nella stessa AWS regione del cluster Amazon Redshift. Per un elenco delle AWS regioni supportate, consulta. Limitazioni di Amazon Redshift Spectrum

Se il percorso specifica un bucket o una cartella, ad esempio 's3://amzn-s3-demo-bucket/custdata/', Redshift Spectrum esegue la scansione dei file nel bucket o nella cartella specificati e in qualsiasi sottocartella. Redshift Spectrum ignora i file e i file nascosti che iniziano con un punto o un trattino basso.

Se il percorso specifica un file manifest, l'argomento 's3://bucket/manifest_file' deve fare riferimento esplicitamente a un singolo file, ad esempio 's3://amzn-s3-demo-bucket/manifest.txt'. Non può fare riferimento a un prefisso della chiave.

Il manifesto è un file URL di testo in JSON formato che elenca ogni file da caricare da Amazon S3 e la dimensione del file, in byte. URLInclude il nome del bucket e il percorso completo dell'oggetto per il file. I file specificati nel manifesto possono trovarsi in diversi bucket, ma tutti i bucket devono trovarsi nella stessa AWS regione del cluster Amazon Redshift. Se un file viene elencato due volte, viene caricato due volte. L'esempio seguente mostra il JSON codice di un manifesto che carica tre file.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/custdata.1", "meta": { "content_length": 5956875 } }, {"url":"s3://amzn-s3-demo-bucket1/custdata.2", "meta": { "content_length": 5997091 } }, {"url":"s3://amzn-s3-demo-bucket2/custdata.1", "meta": { "content_length": 5978675 } } ] }

È possibile rendere obbligatoria l'inclusione di un particolare file. A tale scopo, includere un'opzione mandatory a livello di file nel manifest. Quando si esegue una query su una tabella esterna con un file obbligatorio mancante, l'SELECTistruzione ha esito negativo. Assicurarsi che tutti i file inclusi nella definizione della tabella esterna siano presenti. Se non sono tutti presenti, viene visualizzato un errore che mostra il primo file obbligatorio che non viene trovato. L'esempio seguente mostra l'opzione JSON per un manifesto con l'mandatoryopzione impostata sutrue.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/custdata.1", "mandatory":true, "meta": { "content_length": 5956875 } }, {"url":"s3://amzn-s3-demo-bucket1/custdata.2", "mandatory":false, "meta": { "content_length": 5997091 } }, {"url":"s3://amzn-s3-demo-bucket2/custdata.1", "meta": { "content_length": 5978675 } } ] }

Per fare riferimento ai file creati utilizzandoUNLOAD, è possibile utilizzare il manifesto creato utilizzando UNLOAD il MANIFEST parametro. Il file manifest è compatibile con un file manifest per COPYda Amazon S3, ma usa chiavi diverse. Le chiavi non utilizzate vengono ignorate.

TABLEPROPERTIES('property_name' = 'property_value' [,...])

Clausola che imposta la definizione della tabella delle proprietà della tabella.

Nota

Le proprietà della tabella rispettano la distinzione tra maiuscole e minuscole.

'compression_type'='value'

Proprietà che imposta il tipo di compressione da utilizzare se il nome file non contiene un'estensione. Se imposti questa proprietà e c'è un'estensione di file, l'estensione viene ignorata e viene utilizzato il valore impostato dalla proprietà. I valori validi per il tipo di compressione sono i seguenti:

  • bzip2

  • gzip

  • nessuno

  • snappy

'data_cleansing_enabled'='true / false'

Questa proprietà imposta se la gestione dei dati è attiva per la tabella. Se 'data_cleansing_enabled' è impostata su true, la gestione dei dati è attiva per la tabella. Se 'data_cleansing_enabled' è impostata su false, la gestione dei dati non è attiva per la tabella. Di seguito è riportato l'elenco delle proprietà di gestione dei dati a livello di tabella controllate da questa proprietà:

  • column_count_mismatch_handling

  • invalid_char_handling

  • numeric_overflow_handling

  • replacement_char

  • surplus_char_handling

Per alcuni esempi, consulta Esempi di gestione dei dati.

'invalid_char_handling'='valore'

Speciifica l'azione da eseguire quando i risultati della query contengono valori di -8 caratteri non validi. UTF È possibile specificare le seguenti operazioni:

DISABLED

Non esegue la gestione dei caratteri non validi.

FAIL

Annulla le interrogazioni che restituiscono dati contenenti -8 valori non validi. UTF

SET_PER_ NULL

Sostituisce UTF -8 valori non validi con null.

DROP_ROW

Sostituisce ogni valore della riga con null.

REPLACE

Sostituisce il carattere non valido con il carattere sostitutivo specificato tramite replacement_char.

'replacement_char'='carattere'

Specifica il carattere sostitutivo da utilizzare quando si imposta invalid_char_handling su REPLACE.

'numeric_overflow_handling'='value'

Speciifica l'azione da eseguire quando ORC i dati contengono un numero intero (ad esempio, BIGINT o int64) più grande della definizione della colonna (ad esempio, o int16). SMALLINT È possibile specificare le seguenti operazioni:

DISABLED

La gestione dei caratteri non validi è disattivata.

FAIL

Se i dati includono caratteri non validi annullare la query.

SET_PER_ NULL

Impostare i caratteri non validi su null.

DROP_ROW

Impostare ogni valore della riga su null.

'surplus_bytes_handling'='value'

Speciifica come gestire i dati caricati che superano la lunghezza del tipo di dati definito per le colonne contenenti dati. VARBYTE Per impostazione predefinita, Redshift Spectrum imposta il valore su null per i dati che superano la larghezza della colonna.

È possibile specificare le seguenti operazioni da eseguire quando la query restituisce dati che superano la larghezza del tipo di dati:

SET_PER_ NULL

Sostituisce i dati che superano la larghezza della colonna con null.

DISABLED

Non esegue la gestione dei byte in eccedenza.

FAIL

Annulla le query che restituiscono dati che superano la larghezza della colonna.

DROP_ROW

Elimina tutte le righe contenenti dati che superano la larghezza della colonna.

TRUNCATE

Rimuove i caratteri che superano il numero massimo di caratteri definito per la colonna.

'surplus_char_handling'='valore'

Speciifica come gestire i dati caricati che superano la lunghezza del tipo di dati definito per le colonne contenenti VARCHAR o stringhe di dati. CHAR Per impostazione predefinita, Redshift Spectrum imposta il valore su null per i dati che superano la larghezza della colonna.

È possibile specificare le seguenti operazioni da eseguire quando la query restituisce dati che superano la larghezza della colonna:

SET_PER_ NULL

Sostituisce i dati che superano la larghezza della colonna con null.

DISABLED

Non esegue la gestione dei caratteri in eccedenza.

FAIL

Annulla le query che restituiscono dati che superano la larghezza della colonna.

DROP_ROW

Sostituisce ogni valore della riga con null.

TRUNCATE

Rimuove i caratteri che superano il numero massimo di caratteri definito per la colonna.

'column_count_mismatch_handling'='valore’

Determina se il file contiene più o meno valori in una riga rispetto al numero di colonne specificato nella definizione della tabella esterna. Questa proprietà è disponibile solo per il formato di file di testo non compresso. È possibile specificare le seguenti operazioni:

DISABLED

La gestione della mancata corrispondenza del conteggio di colonne è disattivata.

FAIL

La query ha esito negativo se viene rilevata una mancata corrispondenza del conteggio delle colonne.

SET_PER_ NULL

Riempi i valori mancanti con NULL e ignora i valori aggiuntivi in ogni riga.

DROP_ROW

Elimina tutte le righe che contengono errori relativi alla mancata corrispondenza del conteggio delle colonne dalla scansione.

'numRows' = 'row_count'

Una proprietà che imposta il numRows valore per la definizione della tabella. Per aggiornare in modo esplicito le statistiche di una tabella esterna, imposta la numRows proprietà in modo che indichi la dimensione della tabella. Amazon Redshift non analizza le tabelle esterne per generare le statistiche delle tabelle che l'ottimizzatore di query utilizza per generare un piano di query. Se le statistiche delle tabelle non sono impostate per una tabella esterna, Amazon Redshift genera un piano di esecuzione delle query basato sul presupposto che le tabelle esterne sono le tabelle più grandi e quelle locali le più piccole.

'skip.header.line.count'='line_count'

Proprietà che imposta il numero di righe da saltare all'inizio di ogni file sorgente.

'serialization.null.format'=' '

Proprietà che specifica che Spectrum deve restituire un valore NULL quando esiste una corrispondenza esatta con il testo fornito in un campo.

'orc.schema.resolution'='mapping_type'

Una proprietà che imposta il tipo di mappatura delle colonne per le tabelle che utilizzano il formato ORC dei dati. La proprietà viene ignorata per tutti gli altri formati di dati.

I valori validi per il tipo di mappatura della colonna sono i seguenti:

  • nome

  • position

Se la proprietà orc.schema.resolution viene omessa, le colonne vengono mappate in base al nome per impostazione predefinita. Se orc.schema.resolution è impostata su un valore diverso da 'name' o 'position', le colonne vengono mappate in base alla posizione. Per ulteriori informazioni sulla mappatura delle colonne, consulta Mappatura delle colonne esterne della tabella alle colonne ORC.

Nota

Il COPY comando esegue la mappatura ai file di ORC dati solo in base alla posizione. La proprietà della tabella orc.schema.resolution non ha alcun effetto sul comportamento dei comandi. COPY

'write.parallel'='on / off'

Una proprietà che imposta se CREATE EXTERNAL TABLE AS deve scrivere dati in parallelo. Per impostazione predefinita, CREATE EXTERNAL TABLE AS scrive i dati in parallelo su più file, in base al numero di slice nel cluster. L'opzione predefinita è "attiva". Quando 'write.parallel' è impostato su off, CREATE EXTERNAL TABLE AS scrive serialmente su uno o più file di dati su Amazon S3. Questa proprietà della tabella si applica anche a qualsiasi INSERT istruzione successiva nella stessa tabella esterna.

‘write.maxfilesize.mb'=‘size'

Una proprietà che imposta la dimensione massima (in MB) di ogni file scritto su Amazon S3 da CREATE EXTERNAL TABLE AS. La dimensione deve essere un numero intero valido compreso tra 5 e 6200. La dimensione massima predefinita del file è 6.200 MB. Questa proprietà della tabella si applica anche a qualsiasi INSERT istruzione successiva nella stessa tabella esterna.

'write.kms.key.id'='valore'

Puoi specificare una AWS Key Management Service chiave per abilitare Server—Side Encryption (SSE) per oggetti Amazon S3, dove il valore è uno dei seguenti:

  • autoper utilizzare la AWS KMS chiave predefinita memorizzata nel bucket Amazon S3.

  • kms-key che si specifica per crittografare i dati.

select_statement

Istruzione che inserisce una o più righe nella tabella esterna definendo qualsiasi query. Tutte le righe prodotte dalla query vengono scritte in Amazon S3 in formato testo o Parquet in base alla definizione della tabella.

Una raccolta di esempi è disponibile all'indirizzo Esempi.