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.
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 JSON AWS Glue
objek tabel yang akan mewakili tampilan. 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
Batasan
Batasan tampilan Katalog Data berikut khusus untuk Athena. Untuk batasan tampilan Katalog Data yang berlaku untuk Athena dan layanan lainnya, 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 yang mendasari harus terdaftar di Lake Formation.
-
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 yang mendasari 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 AWS Glue dan kepala layanan Lake Formation. Untuk informasi selengkapnya, lihat Prasyarat untuk membuat tampilan di AWS Lake Formation Panduan Pengembang.
IAMizin untuk akses Athena juga diperlukan. Untuk informasi selengkapnya, lihat AWS kebijakan terkelola untuk Amazon Athena.