SerDe Amazon Ion Hive
Vous pouvez utiliser le SerDe Amazon Ion Hive pour interroger des données stockées au format Amazon Ion
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 depuis Athena, vous pouvez utiliser le SerDe Amazon Ion HiveCREATE TABLE AS
SELECT (CTAS) ou INSERT INTO pour copier des données à partir de tables existantes.
Note
Comme Amazon Ion est un sur-ensemble de JSON, vous pouvez utiliser le SerDe Amazon Ion Hive pour interroger des jeux de données JSON non Amazon Ion. Contrairement à d'autres bibliothèques SerDe JSON, le SerDe Amazon Ion ne s'attend pas à ce que chaque ligne de données soit sur une seule ligne. Cette fonction est utile si vous souhaitez interroger des jeux de données JSON au format « pretty print » ou si vous souhaitez diviser les champs d'une ligne avec des caractères de saut de 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
La bibliothèque de sérialisation du SerDe Amazon Ion est nommée com.amazon.ionhiveserde.IonHiveSerDe. Pour obtenir des informations sur le code source, consultez Amazon Ion Hive SerDe
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<>etMAP<>. 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. -
Tableaux de symboles externes non pris en charge – Actuellement, Athena ne prend pas en charge les tables de symboles externes, ni les propriétés SerDe d'Amazon Ion 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, si 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, ouCHAR. 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.