Hilangkan nama katalog dalam kueri metastore Hive eksternal - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Hilangkan nama katalog dalam kueri metastore Hive eksternal

Saat menjalankan DML dan melakukan DDL kueri pada metastores Hive eksternal, Anda dapat menyederhanakan sintaks kueri dengan menghilangkan nama katalog jika nama tersebut dipilih di editor kueri. Pembatasan tertentu berlaku untuk fungsi ini.

DMLpernyataan

Untuk menjalankan kueri dengan katalog terdaftar
  1. Anda dapat menempatkan nama sumber data sebelum database menggunakan sintaks[[data_source_name].database_name].table_name, seperti pada contoh berikut.

    select * from "hms-catalog-1".hms_tpch.customer limit 10;
  2. Ketika sumber data yang ingin Anda gunakan sudah dipilih di editor kueri, Anda dapat menghilangkan nama dari kueri, seperti pada contoh berikut.

    select * from hms_tpch.customer limit 10:
    DMLKueri menggunakan sumber data default.
  3. Bila Anda menggunakan beberapa sumber data dalam kueri, Anda hanya dapat menghilangkan nama sumber data default, dan harus menentukan nama lengkap untuk sumber data non-default.

    Misalnya, misalkan AwsDataCatalog dipilih sebagai sumber data default di editor kueri. FROMPernyataan dalam kutipan kueri berikut sepenuhnya memenuhi syarat dua nama sumber data pertama tetapi menghilangkan nama untuk sumber data ketiga karena ada di katalog data. AWS Glue

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

DDLpernyataan

DDLPernyataan Athena berikut mendukung awalan nama katalog. Awalan nama katalog dalam DDL pernyataan lain menyebabkan kesalahan sintaks.

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

Seperti halnya DML pernyataan, Anda dapat menghilangkan sumber data dan awalan database dari kueri saat sumber data dan database dipilih di editor kueri.

Pada gambar berikut, sumber hms-catalog-1 data dan hms_tpch database dipilih di editor kueri. show create table customerPernyataan berhasil meskipun hms-catalog-1 awalan dan nama hms_tpch database dihilangkan dari kueri itu sendiri.

DDLPernyataan menggunakan katalog default.

Menentukan sumber data default dalam string JDBC koneksi

Saat Anda menggunakan JDBC Driver Athena untuk menghubungkan Athena ke metastore Hive eksternal, Anda dapat menggunakan Catalog parameter untuk menentukan nama sumber data default dalam string koneksi Anda di editor seperti meja kerja. SQL SQL

catatan

Untuk mengunduh JDBC driver Athena terbaru, lihat Menggunakan Athena dengan driver. JDBC

String koneksi berikut menentukan sumber data default hms-catalog-name.

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

Gambar berikut menunjukkan JDBC koneksi sampel URL seperti yang dikonfigurasi di SQL Workbench.

Mengkonfigurasi JDBC koneksi URL di SQL Workbench.