Amazon Ion Hive SerDe - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Amazon Ion Hive SerDe

Vous pouvez utiliser Amazon Ion Hive SerDe pour interroger les données stockées au format Amazon Ion. Amazon Ion est un format de données open source riche et auto-descriptif. Le format Amazon Ion est utilisé par des services tels qu'Amazon Quantum Ledger Database (AmazonQLDB) et dans le langage de SQL requête open source partiQL.

Amazon Ion possède des formats binaires et texte interchangeables. Cette fonction combine la facilité d'utilisation du texte avec l'efficacité du codage binaire.

Pour interroger les données Amazon Ion auprès d'Athena, vous pouvez utiliser Amazon Ion Hive SerDe, qui sérialise et désérialise les données Amazon Ion. La désérialisation vous permet d'exécuter des requêtes sur les données Amazon Ion ou de les lire pour les écrire dans un format différent, tel que Parquet ou. ORC La sérialisation vous permet de générer des données au format Amazon Ion en utilisant CREATE TABLE AS SELECT (CTAS) ou des INSERT INTO requêtes pour copier des données à partir de tables existantes.

Note

Amazon Ion étant un sur-ensemble deJSON, vous pouvez utiliser Amazon Ion Hive SerDe pour interroger des ensembles de données autres qu'Amazon Ion. JSON Contrairement aux autres JSON SerDebibliothèques, Amazon Ion SerDe ne s'attend pas à ce que chaque ligne de données se trouve sur une seule ligne. Cette fonctionnalité est utile si vous souhaitez interroger JSON des ensembles de données au format « joli imprimé » ou diviser les champs d'une ligne avec des caractères de nouvelle ligne.

Pour obtenir des informations supplémentaires et des exemples d'interrogation d'Amazon Ion avec Athena, consultez Analyser des ensembles de données Amazon Ion à l'aide d'Amazon Athena.

Nom de la bibliothèque de sérialisation

Le nom de la bibliothèque de sérialisation pour Amazon Ion SerDe estcom.amazon.ionhiveserde.IonHiveSerDe. Pour obtenir des informations sur le code source, consultez Amazon Ion Hive SerDe sur GitHub .com.

Considérations et restrictions

  • Champs dupliqués – Les structures Amazon Ion sont commandées et prennent en charge les champs dupliqués, tandis que ce n'est pas le cas pour les structures STRUCT<> et MAP<>. Ainsi, lorsque vous désérialisez un champ dupliqué à partir d'une structure Amazon Ion, une seule valeur est choisie de façon non déterministe et les autres sont ignorées.

  • Tables de symboles externes non prises en charge — Actuellement, Athena ne prend pas en charge les tables de symboles externes ni les propriétés Amazon Ion SerDe Hive suivantes :

    • ion.catalog.class

    • ion.catalog.file

    • ion.catalog.url

    • ion.symbol_table_imports

  • Extensions de fichier – Amazon Ion utilise des extensions de fichiers pour déterminer quel codec de compression utiliser pour désérialiser les fichiers Amazon Ion. Par conséquent, les fichiers compressés doivent avoir l'extension de fichier correspondant à l'algorithme de compression utilisé. Par exemple, s'il ZSTD est utilisé, les fichiers correspondants doivent porter l'extension.zst.

  • Données homogènes – Amazon Ion n'a aucune restriction sur les types de données qui peuvent être utilisés pour des valeurs dans des champs particuliers. Par exemple, deux documents Amazon Ion différents peuvent comporter un champ portant le même nom et possédant des types de données différents. Toutefois, comme Hive utilise un schéma, toutes les valeurs que vous extrayez dans une seule colonne Hive doivent avoir le même type de données.

  • Restrictions relatives aux types de clés – Lorsque vous sérialisez des données d'un autre format dans Amazon Ion, assurez-vous que le type de clé de mappage est l'un des suivants : STRING, VARCHAR, ou CHAR. Bien que Hive vous permette d'utiliser n'importe quel type de données primitif comme clé de mappage, Amazon Ion symbols (symboles Amazon Ion) doit être un type de chaîne.

  • Type union – Athena ne prend pas actuellement en charge le type union de Hive.

  • Type de données double : Amazon Ion ne prend actuellement pas en charge le type de données double.