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à.
Registra i cataloghi dei bucket da tavolo S3 e consulta le tabelle di Athena
I bucket da tabella Amazon S3 sono un tipo di bucket in Amazon S3 progettato appositamente per archiviare dati tabulari nelle tabelle Apache Iceberg. I Table bucket automatizzano le attività di gestione delle tabelle come la compattazione, la gestione delle istantanee e la raccolta dei rifiuti per ottimizzare continuamente le prestazioni delle query e ridurre al minimo i costi. Che tu sia agli inizi o abbia migliaia di tabelle nel tuo ambiente Iceberg, i table bucket semplificano i data lake su qualsiasi scala. Per ulteriori informazioni, consulta Table buckets.
Considerazioni e limitazioni
-
Tutte le operazioni DDL supportate per le tabelle Iceberg sono supportate per le tabelle S3 con le seguenti eccezioni:
-
ALTER TABLE RENAME
, e nonCREATE VIEW
sono supportate.ALTER DATABASE
-
OPTIMIZE
eVACUUM
— Puoi gestire la compattazione e la gestione delle istantanee in S3. Per ulteriori informazioni, consulta la documentazione di manutenzione di S3 Tables.
-
-
Le query DDL sulle tabelle S3 registrate come sorgenti dati Athena non sono supportate.
-
Il riutilizzo dei risultati delle query non è supportato.
-
Nei gruppi di lavoro con SSE-KMS, crittografia CSE-KMS abilitata, non è possibile eseguire operazioni di scrittura come
INSERT
,, o su tabelle S3.UPDATE
DELETE
MERGE
-
Nei gruppi di lavoro con l'opzione S3 Requester Pays abilitata, non puoi eseguire operazioni DML su S3 Tables.
Interroga le tabelle S3 da Athena
Completa questi passaggi preliminari prima di interrogare S3 Tables in Athena
Crea un bucket per tabelle S3. Per ulteriori informazioni, consulta Creating a table bucket nella Guida per l'utente di Amazon Simple Storage Service.
-
Assicurati che l'integrazione dei tuoi table bucket con AWS Glue Data Catalog e abbia successo seguendo i Prerequisiti per l'integrazione e AWS Lake Formation l'integrazione dei table bucket con i AWS servizi di analisi nella Guida per l'utente di Amazon Simple Storage Service.
Nota
Se hai abilitato l'integrazione durante la creazione di un bucket di tabelle S3 dalla console S3 nel passaggio 1, puoi saltare questo passaggio.
Per il principale che usi per eseguire le query con Athena, concedi le autorizzazioni Lake Formation sul catalogo S3 Table, tramite la console Lake Formation oppure. AWS CLI
Invia domande per S3 Tables
Invia una
CREATE DATABASE
richiesta da Athena con l'utente/ruolo sopra concesso. In questo esempio,s3tablescatalog
è il Glue Data Catalog principale creato dall'integrazione eds3tablescatalog/
è il Glue Data Catalog secondario creato per ogni bucket da tavolo S3. Esistono due modi in cui è possibile eseguire le interrogazioni.amzn-s3-demo-bucket
-
Con il database che hai creato nel passaggio precedente, usa
CREATE TABLE
per creare una tabella. L'esempio seguente crea una tabella nel
database creato in precedenza nel catalogotest_namespace
s3tablescatalog/
Glue.amzn-s3-demo-bucket
-
Inserisci i dati nella tabella che hai creato nel passaggio precedente.
-
Dopo aver inserito i dati nella tabella, è possibile interrogarla.
Crea tabelle S3 in Athena
Athena supporta la creazione di tabelle nei namespace S3 Table esistenti o nei namespace creati in Athena con istruzioni. CREATE DATABASE
Per creare una tabella S3 da Athena, la sintassi è la stessa di quando si crea una normale tabella Iceberg, tranne che non si specifica LOCATION
il, come mostrato nell'esempio seguente.
CREATE TABLE [db_name.]table_name (col_name data_type [COMMENT col_comment] [, ...] ) [PARTITIONED BY (col_name | transform, ... )] [TBLPROPERTIES ([, property_name=property_value] )]
Puoi anche creare tabelle S3 utilizzando le istruzioni CREATE TABLE AS SELECT (CTAS). Per ulteriori informazioni, consulta CTAS per tabelle S3.
Registra i cataloghi di bucket da tavolo S3 come fonti di dati Athena
Per registrare i cataloghi S3 table bucket con la console Athena, procedi nel seguente modo.
-
Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/
. -
Nel riquadro di navigazione, scegli Fonti di dati e cataloghi.
-
Nella pagina Origini dati e cataloghi, scegli Crea origine dati.
-
Per Scegli un'origine dati, scegli Amazon S3 -. AWS Glue Data Catalog
-
Nella AWS Glue Data Catalogsezione, per Account di origine dati, scegli AWS Glue Data Catalog questo account.
-
Per Creare una tabella o registrare un catalogo, scegli Registra un nuovo AWS Glue catalogo.
-
Nella sezione Dettagli dell'origine dati, per Nome dell'origine dati, inserisci il nome che desideri utilizzare per specificare l'origine dati nelle tue query SQL o utilizzare il nome predefinito che viene generato.
-
Per Catalogo, scegli Sfoglia per cercare un elenco di AWS Glue cataloghi nello stesso account. Se non vedi nessun catalogo esistente, creane uno nella AWS Glue console.
-
Nella finestra di dialogo Sfoglia AWS Glue cataloghi, selezionate il catalogo che desiderate utilizzare, quindi scegliete Scegli.
-
(Facoltativo) Per i tag, inserite key/value le coppie che desiderate associare all'origine dati.
-
Scegli Next (Successivo).
-
Nella pagina Rivedi e crea, verifica che le informazioni inserite siano corrette, quindi scegli Crea origine dati.
CTAS per tabelle S3
Amazon Athena ora supporta le operazioni CREATE TABLE AS SELECT (CTAS) per le tabelle S3. Questa funzionalità consente di creare nuove tabelle S3 in base ai risultati di una query SELECT.
Quando si crea una query CTAS per una tabella S3, ci sono alcune importanti differenze rispetto alle tabelle Athena standard:
-
È necessario omettere la proprietà location perché le tabelle S3 gestiscono automaticamente le proprie posizioni di archiviazione.
-
L'impostazione predefinita della
table_type
proprietà èICEBERG
, quindi non è necessario specificarla esplicitamente nella query. -
Se non specificate un formato, il sistema lo utilizza automaticamente
PARQUET
come formato predefinito per i dati. -
Tutte le altre proprietà seguono la stessa sintassi delle normali tabelle Iceberg.
Prima di creare tabelle S3 utilizzando CTAS, assicurati di avere le autorizzazioni necessarie configurate in. AWS Lake Formation In particolare, sono necessarie le autorizzazioni per creare tabelle nel catalogo S3 Tables. Senza queste autorizzazioni, le operazioni CTAS falliranno.
Nota
Se la tua query CTAS fallisce, potresti dover eliminare la tabella utilizzando l'API S3 Tables prima di tentare di rieseguire la query. non puoi usare le DROP TABLE
istruzioni Athena per rimuovere la tabella che è stata parzialmente creata dalla query.
Esempio
CREATE TABLE "s3tablescatalog/
amzn-s3-demo-bucket
"."namespace
"."s3-table-name
" WITH ( format = 'PARQUET' ) AS SELECT * FROMsource_table
;