Amazon Ion Hive SerDe - Amazon Athena

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

Amazon Ion Hive SerDe

Puoi utilizzare Amazon Ion Hive SerDe per interrogare i dati archiviati in formato Amazon Ion. Amazon Ion è un formato di dati open source altamente tipizzato e autodescrittivo. Il formato Amazon Ion viene utilizzato da servizi come Amazon Quantum Ledger Database (AmazonQLDB) e nel SQL linguaggio di query open source PartiQL.

Amazon Ion ha formati binari e testuali intercambiabili. Questa funzione combina la facilità d'uso del testo con l'efficienza della codifica binaria.

Per interrogare i dati Amazon Ion di Athena, puoi utilizzare Amazon Ion Hive SerDe, che serializza e deserializza i dati Amazon Ion. La deserializzazione consente di eseguire query sui dati di Amazon Ion o di leggerli per scriverli in un formato diverso come Parquet o. ORC La serializzazione consente di generare dati nel formato Amazon Ion utilizzando CREATE TABLE AS SELECT (CTAS) o INSERT INTO query per copiare dati da tabelle esistenti.

Nota

Poiché Amazon Ion è un superset diJSON, puoi utilizzare Amazon Ion Hive SerDe per interrogare set di dati non Amazon Ion. JSON A differenza di altre JSON SerDelibrerie, Amazon Ion SerDe non prevede che ogni riga di dati si trovi su un'unica riga. Questa funzionalità è utile se desideri interrogare JSON set di dati in formato «pretty print» o altrimenti suddividere i campi in una riga con caratteri di nuova riga.

Per ulteriori informazioni ed esempi di esecuzione di query su Amazon Ion con Athena, consulta Analisi di set di dati Amazon Ion con Amazon Athena.

Nome della libreria di serializzazione

Il nome della libreria di serializzazione per Amazon Ion SerDe ècom.amazon.ionhiveserde.IonHiveSerDe. Per informazioni sul codice sorgente, consulta Amazon Ion Hive SerDe su GitHub .com.

Considerazioni e limitazioni

  • Campi duplicati: le strutture Amazon Ion vengono ordinate e supportano i campi duplicati, mentre STRUCT<> e MAP<> di Hive no. Pertanto, quando deserializzi un campo duplicato da una struttura Amazon Ion, viene scelto un singolo valore in modo non deterministico e gli altri vengono ignorati.

  • Tabelle dei simboli esterne non supportate: attualmente, Athena non supporta le tabelle dei simboli esterne o le seguenti proprietà di Amazon Ion SerDe Hive:

    • ion.catalog.class

    • ion.catalog.file

    • ion.catalog.url

    • ion.symbol_table_imports

  • Estensioni di file: Amazon Ion utilizza le estensioni di file per determinare quale codec di compressione utilizzare per deserializzare i file Amazon Ion. Pertanto, i file compressi devono avere l'estensione del file corrispondente all'algoritmo di compressione utilizzato. Ad esempio, se ZSTD viene utilizzata, i file corrispondenti devono avere l'estensione. .zst

  • Dati omogenei: Amazon Ion non ha restrizioni sui tipi di dati che possono essere utilizzati per valori in campi specifici. Ad esempio, due documenti Amazon Ion diversi potrebbero avere un campo con lo stesso nome con tipi di dati diversi. Tuttavia, poiché Hive utilizza uno schema, tutti i valori estratti in una singola colonna Hive devono avere lo stesso tipo di dati.

  • Restrizioni sul tipo di chiave: quando serializzi dati da un altro formato in Amazon Ion, assicurati che il tipo di chiave mappa sia uno tra STRING, VARCHAR, oppure CHAR. Sebbene Hive ti consenta di utilizzare qualsiasi tipo di dati primitivo come chiave mappa, Simboli Amazon Ion deve essere un tipo di stringa.

  • Tipo Union: Athena non supporta attualmente l'Hive tipo Union.

  • Doppio tipo di dati: Amazon Ion attualmente non supporta questo tipo di dati double.