Considérations et limitations relatives aux requêtes SQL dans Amazon Athena - Amazon Athena

Considérations et limitations relatives aux requêtes SQL dans Amazon Athena

Lorsque vous exécutez des interrogations dans Athena, gardez à l'esprit les considérations et restrictions suivantes :

  • Procédures stockées – Les procédures stockées ne sont pas prises en charge.

  • Requêtes paramétrées – Les requêtes paramétrées ne sont pas prises en charge. Toutefois, vous pouvez créer des fonctions définies par l'utilisateur que vous pouvez appeler dans le corps d'une requête. Pour plus d'informations, consultez Interrogation avec des fonctions définies par l'utilisateur (version préliminaire).

  • Nombre maximum de partitions – Le nombre maximal de partitions que vous pouvez créer avec des instructions CREATE TABLE AS SELECT (CTAS) est de 100. Pour obtenir des informations, consultez CREATE TABLE AS. Pour obtenir une solution de contournement, veuillez consulter Utilisation de CTAS et d’INSERT INTO pour créer une table avec plus de 100 partitions.

  • Instructions non prises en charge – Les instructions suivantes ne sont pas prises en charge :

    • Les instructions PREPARED ne sont pas prises en charge. Vous ne pouvez pas exécuter EXECUTE avec USING.

    • CREATE TABLE LIKE n'est pas pris en charge.

    • DESCRIBE INPUT et DESCRIBE OUTPUT ne sont pas pris en charge.

    • Les instructions EXPLAIN ne sont pas prises en charge.

  • Connecteurs fédérés PrestoLes connecteurs fédérés Presto ne sont pas pris en charge. Utilisez Amazon Athena Federated Query (Preview) pour vous connecter aux sources de données. Pour de plus amples informations, consultez Utiliser Amazon Athena Federated Query (Preview).

  • Interrogation de colonnes Parquet avec des types de données complexes – Lorsque vous interrogez les colonnes avec des types de données complexes (array, map, struct) et que vous utilisez Parquet pour stocker des données, Athena lit toute une ligne de données de façon sélective, au lieu de lire uniquement les colonnes spécifiées. Il s'agit d'un problème connu.

  • Délais d'expiration sur des tables avec plusieurs partitions – Athena peut expirer lors de l'interrogation d'une table qui contient plusieurs milliers de partitions. Cela peut se produire lorsque la table comporte de nombreuses partitions qui ne sont pas de type string. Lorsque vous utilisez le type string, Athena réduit les partitions au niveau des métastases. Toutefois, lorsque vous utilisez d'autres types de données, Athena réduit les partitions côté serveur. Plus vous avez de partitions, plus ce processus est long et plus vos requêtes sont susceptibles d'expirer. Pour résoudre ce problème, définissez votre type de partition sur string, pour que Athena réduise les partitions au niveau du métastore. Cela réduit les frais généraux et empêche les requêtes d’expirer.

  • Requêtes inter-régions – Les requêtes inter-régions ne sont pas prises en charge. Si vous créez une table Athena dans une région AWS et que vous tentez d'interroger des données dans un compartiment Amazon S3 dans une autre région AWS, vous recevrez peut-être le message d'erreur InvalidToken : Le jeton fourni est mal formé ou non valide.

  • Stockage GLACIER Amazon S3 – Lorsque les données sont déplacées ou transférées vers la classe de stockage GLACIER Amazon S3, elles ne sont plus lisibles ou interrogeables par Athena. Ceci est vrai même après la restauration des objets de classe de stockage. Pour rendre lisibles par Athena les objets restaurés que vous souhaitez interroger, copiez les objets restaurés dans Amazon S3 pour modifier leur classe de stockage.

  • Points d’accès Amazon S3 – Vous ne pouvez pas utiliser un point d'accès Amazon S3 dans une clause LOCATION. Toutefois, tant que la stratégie de compartiment Amazon S3 ne refuse pas explicitement les requêtes aux objets qui ne sont pas effectuées via des points d'accès Amazon S3, les objets doivent être accessibles via Athena pour les demandeurs disposant des autorisations d'accès aux objets appropriées.

  • Fichiers traités comme masqués – Athena traite les fichiers sources qui commencent par un trait de soulignement (_) ou un point (.) comme étant masqués. Pour contourner cette limitation, renommez les fichiers.