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.
Omettre le nom du catalogue dans les requêtes de métastore Hive externes
Lorsque vous exécutez DML des DDL requêtes sur des métastores Hive externes, vous pouvez simplifier la syntaxe de vos requêtes en omettant le nom du catalogue s'il est sélectionné dans l'éditeur de requêtes. Certaines restrictions s'appliquent à cette fonctionnalité.
DMLdéclarations
Pour exécuter des requêtes avec des catalogues enregistrés
-
Vous pouvez placer le nom de la source de données avant la base de données en utilisant la syntaxe
[[
, comme dans l'exemple suivant.data_source_name
].database_name
].table_name
select * from "hms-catalog-1".hms_tpch.customer limit 10;
-
Lorsque la source de données que vous souhaitez utiliser est déjà sélectionnée dans l'éditeur de requêtes, vous pouvez omettre le nom dans la requête, comme dans l'exemple suivant.
select * from hms_tpch.customer limit 10:
-
Lorsque vous utilisez plusieurs sources de données dans une requête, vous pouvez omettre uniquement le nom de la source de données par défaut et devez spécifier le nom complet de toutes les autres sources de données qui ne sont pas des sources de données par défaut.
Supposons par exemple que
AwsDataCatalog
est sélectionnée comme source de données par défaut dans l'éditeur de requêtes. L'FROM
instruction contenue dans l'extrait de requête suivant qualifie entièrement les deux premiers noms de source de données, mais omet le nom de la troisième source de données car elle figure dans le catalogue de AWS Glue données.... FROM ehms01.hms_tpch.customer, "hms-catalog-1".hms_tpch.orders, hms_tpch.lineitem ...
DDLdéclarations
Les DDL instructions Athena suivantes prennent en charge les préfixes de noms de catalogue. Les préfixes de nom de catalogue figurant dans d'autres DDL instructions sont à l'origine d'erreurs de syntaxe.
SHOW TABLES [IN [catalog_name.]database_name] ['regular_expression'] SHOW TBLPROPERTIES [[catalog_name.]database_name.]table_name [('property_name')] SHOW COLUMNS IN [[catalog_name.]database_name.]table_name SHOW PARTITIONS [[catalog_name.]database_name.]table_name SHOW CREATE TABLE [[catalog_name.][database_name.]table_name DESCRIBE [EXTENDED | FORMATTED] [[catalog_name.][database_name.]table_name [PARTITION partition_spec] [col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )]
Comme pour les DML instructions, vous pouvez omettre les préfixes de source de données et de base de données dans la requête lorsque la source de données et la base de données sont sélectionnées dans l'éditeur de requêtes.
Dans l'image suivante, la source de données hms-catalog-1
et la base de données hms_tpch
sont sélectionnées dans l'éditeur de requêtes. L'instruction show
create table customer
réussit, même si le préfixe hms-catalog-1
et le nom de base de données hms_tpch
sont omis de la requête elle-même.
Spécification d'une source de données par défaut dans une chaîne de JDBC connexion
Note
Pour télécharger les derniers JDBC pilotes Athena, consultez la section Utilisation d'Athena avec le pilote. JDBC
La chaîne de connexion suivante indique la source de données par défaut hms-catalog-name
.
jdbc:awsathena://AwsRegion=us-east-1;S3OutputLocation=s3://amzn-s3-demo-bucket/lambda/results/;Workgroup=AmazonAthenaPreviewFunctionality;Catalog=
hms-catalog-name
;
L'image suivante montre un exemple de JDBC connexion URL tel que configuré dans SQL Workbench.