Menggunakan tampilan Katalog Data di Athena - Amazon Athena

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

Menggunakan tampilan Katalog Data di Athena

Membuat tampilan Katalog Data di Amazon Athena memerlukan pernyataan khususCREATE VIEW. Query mereka menggunakan SQL SELECT sintaks konvensional. Tampilan Katalog Data juga disebut sebagai tampilan multi dialek, atauMDVs.

Membuat tampilan Katalog Data

Untuk membuat tampilan Katalog Data di Athena, gunakan sintaks berikut.

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS athena-sql-statement
catatan

SHOW VIEW JSONOpsi ini hanya berlaku untuk tampilan Katalog Data dan bukan untuk tampilan Athena. Menggunakan SHOW VIEW JSON opsi melakukan “dry run” yang memvalidasi input dan, jika validasi berhasil, mengembalikan objek AWS Glue tabel yang akan mewakili tampilan. JSON Tampilan sebenarnya tidak dibuat. Jika SHOW VIEW JSON opsi tidak ditentukan, validasi dilakukan dan tampilan dibuat seperti biasa di Katalog Data.

Contoh berikut menunjukkan bagaimana pengguna Definer peran membuat tampilan Katalog orders_by_date Data. Contoh mengasumsikan bahwa Definer peran memiliki SELECT izin penuh pada orders tabel dalam database. default

CREATE PROTECTED MULTI DIALECT VIEW orders_by_date SECURITY DEFINER AS SELECT orderdate, sum(totalprice) AS price FROM orders WHERE order_city = 'SEATTLE' GROUP BY orderdate

Untuk informasi sintaks, lihatCREATE PROTECTED MULTI DIALECT VIEW.

Kueri tampilan Katalog Data

Setelah tampilan dibuat, Lake Formation admin dapat memberikan SELECT izin pada tampilan Katalog Data ke Invoker prinsipal. InvokerPrinsipal kemudian dapat menanyakan tampilan tanpa memiliki akses ke tabel dasar yang mendasari yang direferensikan oleh tampilan. Berikut ini adalah contoh Invoker query.

SELECT * from orders_by_date where price > 5000

Pertimbangan dan batasan

Sebagian besar batasan tampilan Katalog Data berikut khusus untuk Athena. Untuk batasan tambahan pada tampilan Katalog Data yang juga berlaku untuk layanan lain, lihat dokumentasi Lake Formation.

  • Tampilan Katalog Data tidak dapat mereferensikan tampilan lain, tautan sumber daya database, atau tautan sumber daya tabel.

  • Anda dapat mereferensikan hingga 10 tabel dalam definisi tampilan.

  • Tabel tidak boleh memiliki izin IAMAllowedPrincipals data lake di Lake Formation. Jika ada, kesalahan tampilan Multi Dialek mungkin hanya referensi tabel tanpa IAMAllowedPrincipals izin terjadi.

  • Lokasi Amazon S3 tabel harus terdaftar sebagai lokasi danau data Lake Formation. Jika tabel tidak begitu terdaftar, kesalahan tampilan Multi Dialek mungkin hanya referensi tabel terkelola Lake Formation terjadi. Untuk informasi tentang cara mendaftarkan lokasi Amazon S3 di Lake Formation, lihat Mendaftarkan lokasi Amazon S3 di AWS Lake Formation Panduan Pengembang.

  • SearchTablesAPIPanggilan AWS Glue GetTablesdan tidak memperbarui IsRegisteredWithLakeFormation parameter. Untuk melihat nilai yang benar untuk parameter, gunakan AWS Glue GetTableAPI. Untuk informasi selengkapnya, lihat GetTables dan SearchTables APIs jangan perbarui nilai IsRegisteredWithLakeFormation parameter di Panduan AWS Lake Formation Pengembang.

  • DEFINERKepala sekolah hanya bisa menjadi IAM peran.

  • DEFINERPeran harus memiliki izin penuh SELECT (dapat diberikan) pada tabel yang mendasarinya.

  • UNPROTECTEDTampilan Katalog Data tidak didukung.

  • Fungsi yang ditentukan pengguna (UDFs) tidak didukung dalam definisi tampilan.

  • Sumber data federasi Athena tidak dapat digunakan dalam tampilan Katalog Data.

  • Tampilan Katalog Data tidak didukung untuk eksternal Hive metastores.

  • Athena menampilkan pesan kesalahan saat mendeteksi tampilan basi. Tampilan basi dilaporkan saat salah satu hal berikut terjadi:

    • Tampilan referensi tabel atau basis data yang tidak ada.

    • Perubahan skema atau metadata dibuat dalam tabel direferensikan.

    • Sebuah tabel direferensikan dijatuhkan dan diciptakan dengan skema yang berbeda atau konfigurasi.

Izin

Tampilan Katalog Data memerlukan tiga peran:Lake Formation Admin,Definer, danInvoker.

  • Lake Formation Admin— Memiliki akses untuk mengonfigurasi semua izin Lake Formation.

  • Definer— Membuat tampilan Katalog Data. DefinerPeran harus memiliki SELECT izin penuh yang dapat diberikan pada semua tabel dasar yang referensi definisi tampilan.

  • Invoker— Dapat menanyakan tampilan Katalog Data atau memeriksa metadatanya. Untuk menampilkan pemanggil kueri, Anda dapat menggunakan invoker_principal() DML fungsi tersebut. Untuk informasi selengkapnya, lihat invoker_principal ().

Hubungan kepercayaan Definer peran harus memungkinkan sts:AssumeRole tindakan untuk kepala layanan AWS Glue dan Lake Formation. Untuk informasi selengkapnya, lihat Prasyarat untuk membuat tampilan di Panduan Pengembang.AWS Lake Formation

IAMizin untuk akses Athena juga diperlukan. Untuk informasi selengkapnya, lihat AWS kebijakan terkelola untuk Amazon Athena.