Eseguire query su dati di tabelle Iceberg
Per eseguire query su un set di dati Iceberg, utilizza una istruzione SELECT standard come la seguente. Le query seguono la specifica del formato v2
SELECT * FROM [db_name.]table_name[WHEREpredicate]
Per ottimizzare i tempi delle query, tutti i predicati vengono "spinti" più vicino a dove si trovano i dati.
Per informazioni temporali e di versione, consultare Eseguire query temporali e di versione.
Creare ed eseguire di query sulle viste con le tabelle Iceberg
Per creare ed eseguire query sulle viste Athena sulle tabelle Iceberg, utilizza le viste CREATE VIEW come descritto nella pagina Utilizzo delle viste .
Esempio:
CREATE VIEW view1 AS SELECT * FROMiceberg_table
SELECT * FROM view1
Se desideri utilizzare le specifiche di visualizzazione Iceberg
Eseguire query sui metadati di tabelle Iceberg
In una query SELECT puoi utilizzare le seguenti proprietà dopo table_name per interrogare i metadati di tabelle Iceberg:
-
$files: mostra i file di dati correnti di una tabella.
-
$manifests: mostra i manifesti dei file correnti di una tabella.
-
$history: mostra la cronologia di una tabella.
-
$partitions: mostra le partizioni correnti di una tabella.
-
$snapshots: mostra gli snapshot di una tabella.
-
$refs: mostra i riferimenti di una tabella.
Esempi
La seguente dichiarazione elenca i file di una tabella Iceberg.
SELECT * FROM "dbname"."tablename$files"
L'istruzione seguente elenca i manifesti di una tabella Iceberg.
SELECT * FROM "dbname"."tablename$manifests"
La seguente dichiarazione mostra la cronologia di una tabella Iceberg.
SELECT * FROM "dbname"."tablename$history"
L'esempio seguente mostra una partizione di una tabella Iceberg.
SELECT * FROM "dbname"."tablename$partitions"
L'esempio seguente elenca le istantanee di una tabella Iceberg.
SELECT * FROM "dbname"."tablename$snapshots"
L'esempio seguente mostra un riferimento per una tabella Iceberg.
SELECT * FROM "dbname"."tablename$refs"
Utilizzare il controllo granulare degli accessi di Lake Formation
La versione 3 del motore Athena supporta il controllo granulare degli accessi Lake Formation con le tabelle Iceberg, incluso il controllo degli accessi con sicurezza a livello di colonna e riga. Questo controllo dell'accesso funziona con le query temporali e con le tabelle che hanno eseguito l'evoluzione dello schema. Per ulteriori informazioni, consulta Controllo granulare degli accessi di Lake Formation e gruppi di lavoro Athena.
Se hai creato la tabella Iceberg al di fuori di Athena, utilizza l'SDK di Apache Iceberg