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 ] ASathena-sql-statement
catatan
SHOW VIEW JSON
Opsi 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. Invoker
Prinsipal 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, kesalahantampilan 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. -
DEFINER
Kepala sekolah hanya bisa menjadi IAM peran. -
DEFINER
Peran harus memiliki izin penuhSELECT
(dapat diberikan) pada tabel yang mendasarinya. -
UNPROTECTED
Tampilan 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.Definer
Peran harus memilikiSELECT
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 menggunakaninvoker_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.