Ometti il nome del catalogo nelle query esterne del metastore Hive - 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à.

Ometti il nome del catalogo nelle query esterne del metastore Hive

Quando DML esegui una DDL query su metastore Hive esterni, puoi semplificare la sintassi della query omettendo il nome del catalogo se tale nome è selezionato nell'editor di query. Alcune restrizioni si applicano a questa funzionalità.

DMLdichiarazioni

Per eseguire query con cataloghi registrati
  1. È possibile inserire il nome dell'origine dati prima del database utilizzando la sintassi [[data_source_name].database_name].table_name, come nell'esempio seguente.

    select * from "hms-catalog-1".hms_tpch.customer limit 10;
  2. Quando l'origine dati che si desidera utilizzare è già selezionata nell'editor di query, è possibile omettere il nome dalla query, come nell'esempio seguente.

    select * from hms_tpch.customer limit 10:
    Una DML query che utilizza un'origine dati predefinita.
  3. Quando si utilizzano più origini dati in una query, è possibile omettere solo il nome dell'origine dati di default ed è necessario specificare il nome completo per le origini dati non di default.

    Ad esempio, supponiamo che AwsDataCatalog sia selezionato come origine dati di default nell'editor di query. L'FROMistruzione nel seguente estratto di query qualifica completamente i primi due nomi di origini dati, ma omette il nome della terza origine dati perché si trova nel catalogo dati. AWS Glue

    ... FROM ehms01.hms_tpch.customer, "hms-catalog-1".hms_tpch.orders, hms_tpch.lineitem ...

DDLdichiarazioni

Le seguenti DDL istruzioni Athena supportano i prefissi dei nomi di catalogo. I prefissi dei nomi di catalogo in altre DDL istruzioni causano errori di sintassi.

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$'] )]

Come per le DML istruzioni, è possibile omettere i prefissi dell'origine dati e del database dalla query quando l'origine dati e il database sono selezionati nell'editor delle query.

Nell'immagine seguente, l'origine dati hms-catalog-1 e il database hms_tpch vengono selezionati nell'editor di query. L'istruzioneshow create table customer ha esito positivo anche se il prefisso hms-catalog-1 e il nome del database hms_tpch vengono viene omessi dalla query stessa.

Un'DDListruzione che utilizza il catalogo predefinito.

Specificazione di un'origine dati predefinita in una stringa di JDBC connessione

Quando si utilizza Athena JDBC Driver per connettere Athena a un metastore Hive esterno, è possibile utilizzare il Catalog parametro per specificare il nome dell'origine dati predefinita nella stringa di connessione in un editor come workbench. SQL SQL

Nota

Per scaricare i JDBC driver Athena più recenti, vedi Uso di Athena con il driver. JDBC

La seguente stringa di connessione specifica l'origine dati predefinita hms-catalog-name.

jdbc:awsathena://AwsRegion=us-east-1;S3OutputLocation=s3://amzn-s3-demo-bucket/lambda/results/;Workgroup=AmazonAthenaPreviewFunctionality;Catalog=hms-catalog-name;

L'immagine seguente mostra un esempio di JDBC connessione URL configurata in SQL Workbench.

Configurazione di una JDBC connessione URL in SQL Workbench.