Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan tampilan Glue Data Catalog
Anda dapat membuat dan mengelola tampilan di Katalog Data AWS Glue untuk digunakan dengan EMR Tanpa Server. Ini umumnya dikenal sebagai tampilan AWS Glue Data Catalog. Tampilan ini berguna karena mendukung beberapa mesin kueri SQL, sehingga Anda dapat mengakses tampilan yang sama di berbagai AWS layanan, seperti EMR Tanpa Server,, Amazon Athena dan Amazon Redshift.
Dengan membuat tampilan di Katalog Data, Anda dapat menggunakan hibah sumber daya dan kontrol akses berbasis tag AWS Lake Formation untuk memberikan akses ke sana. Dengan menggunakan metode kontrol akses ini, Anda tidak perlu mengonfigurasi akses tambahan ke tabel yang Anda referensikan saat membuat tampilan. Metode pemberian izin ini disebut semantik definer, dan pandangan ini disebut tampilan definer. Untuk informasi selengkapnya tentang kontrol akses di Lake Formation, lihat Memberikan dan mencabut izin pada sumber daya Katalog Data di Panduan Pengembang AWS Lake Formation.
Tampilan Katalog Data berguna untuk kasus penggunaan berikut:
Kontrol akses granular — Anda dapat membuat tampilan yang membatasi akses data berdasarkan izin yang dibutuhkan pengguna. Misalnya, Anda dapat menggunakan tampilan di Katalog Data untuk mencegah karyawan yang tidak bekerja di departemen SDM melihat informasi identitas pribadi (PII).
Definisi tampilan lengkap — Dengan menerapkan filter pada tampilan Anda di Katalog Data, Anda memastikan bahwa catatan data yang tersedia dalam tampilan di Katalog Data selalu lengkap.
Keamanan yang ditingkatkan — Definisi kueri yang digunakan untuk membuat tampilan harus lengkap. Manfaat ini berarti bahwa tampilan dalam Katalog Data kurang rentan terhadap perintah SQL dari aktor jahat.
Berbagi data sederhana — Bagikan data dengan AWS akun lain tanpa memindahkan data. Untuk informasi selengkapnya, lihat Berbagi data lintas akun di Lake Formation.
Membuat tampilan Katalog Data
Ada berbagai cara untuk membuat tampilan Katalog Data. Ini termasuk menggunakan AWS CLI atau Spark SQL. Beberapa contoh mengikuti.
Berikut ini menunjukkan sintaks untuk membuat tampilan Data Catalog. Perhatikan jenis MULTI DIALECT
tampilan. Ini membedakan tampilan Katalog Data dari tampilan lain. SECURITY
Predikat ditentukan sebagaiDEFINER
. Ini menunjukkan tampilan Katalog Data dengan DEFINER
semantik.
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW [IF NOT EXISTS] view_name
[(column_name [COMMENT column_comment], ...) ]
[ COMMENT view_comment ]
[TBLPROPERTIES (property_name = property_value, ... )]
SECURITY DEFINER
AS query;
Berikut ini adalah contoh CREATE
pernyataan, mengikuti sintaks:
CREATE PROTECTED MULTI DIALECT VIEW catalog_view
SECURITY DEFINER
AS
SELECT order_date, sum(totalprice) AS price
FROM source_table
GROUP BY order_date
Anda juga dapat membuat tampilan dalam mode dry-run, menggunakan SQL, untuk menguji pembuatan tampilan, tanpa benar-benar membuat sumber daya. Menggunakan opsi ini menghasilkan “dry run” yang memvalidasi input dan, jika validasi berhasil, mengembalikan JSON dari objek tabel AWS Glue yang akan mewakili tampilan. Dalam hal ini, Tampilan sebenarnya tidak dibuat.
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW
view_name
SECURITY DEFINER [ SHOW VIEW JSON ] ASview-sql
Operasi tampilan yang didukung
Fragmen perintah berikut menunjukkan kepada Anda berbagai cara untuk bekerja dengan tampilan Katalog Data:
BUAT TAMPILAN
Membuat tampilan data-katalog. Berikut ini adalah contoh yang menunjukkan pembuatan tampilan dari tabel yang ada:
CREATE PROTECTED MULTI DIALECT VIEW catalog_view SECURITY DEFINER AS SELECT * FROM my_catalog.my_database.source_table
UBAH TAMPILAN
Sintaks yang tersedia:
ALTER VIEW view_name [FORCE] ADD DIALECT AS query
ALTER VIEW view_name [FORCE] UPDATE DIALECT AS query
ALTER VIEW view_name DROP DIALECT
Anda dapat menggunakan
FORCE ADD DIALECT
opsi untuk memaksa memperbarui skema dan sub objek sesuai dialek mesin baru. Perhatikan bahwa melakukan hal ini dapat mengakibatkan kesalahan kueri jika Anda juga tidak menggunakannyaFORCE
untuk memperbarui dialek mesin lainnya. Berikut ini menunjukkan contoh:ALTER VIEW catalog_view FORCE ADD DIALECT AS SELECT order_date, sum(totalprice) AS price FROM source_table GROUP BY orderdate;
Berikut ini menunjukkan cara mengubah tampilan untuk memperbarui dialek:
ALTER VIEW catalog_view UPDATE DIALECT AS SELECT count(*) FROM my_catalog.my_database.source_table;
DESKRIPSIKAN TAMPILAN
Sintaks yang tersedia untuk menggambarkan tampilan:
SHOW COLUMNS {FROM|IN} view_name [{FROM|IN} database_name]
— Jika pengguna memiliki izin AWS Glue dan Lake Formation yang diperlukan untuk menggambarkan tampilan, mereka dapat membuat daftar kolom. Berikut ini menunjukkan beberapa contoh perintah untuk menampilkan kolom:SHOW COLUMNS FROM my_database.source_table; SHOW COLUMNS IN my_database.source_table;
DESCRIBE view_name
— Jika pengguna memiliki izin AWS Glue dan Lake Formation yang diperlukan untuk mendeskripsikan tampilan, mereka dapat mencantumkan kolom dalam tampilan bersama dengan metadatanya.
TAMPILAN DROP
Sintaks yang tersedia:
DROP VIEW [ IF EXISTS ] view_name
Contoh berikut menunjukkan
DROP
pernyataan yang menguji apakah tampilan ada sebelum menjatuhkannya:DROP VIEW IF EXISTS catalog_view;
TAMPILKAN TAMPILAN BUAT
SHOW CREATE VIEW view_name
- Menunjukkan pernyataan SQL yang menciptakan tampilan yang ditentukan. Berikut ini adalah contoh yang menunjukkan pembuatan tampilan data-katalog:SHOW CREATE TABLE my_database.catalog_view; CREATE PROTECTED MULTI DIALECT VIEW my_catalog.my_database.catalog_view ( net_profit, customer_id, item_id, sold_date) TBLPROPERTIES ( 'transient_lastDdlTime' = '1736267222') SECURITY DEFINER AS SELECT * FROM my_database.store_sales_partitioned_lf WHERE customer_id IN (SELECT customer_id from source_table limit 10)
TAMPILKAN TAMPILAN
Daftar semua tampilan dalam katalog seperti tampilan biasa, tampilan multi-dialek (MDV), dan MDV tanpa dialek Spark. Sintaks yang tersedia adalah sebagai berikut:
SHOW VIEWS [{ FROM | IN } database_name] [LIKE regex_pattern]
:Berikut ini menunjukkan contoh perintah untuk menampilkan tampilan:
SHOW VIEWS IN marketing_analytics LIKE 'catalog_view*';
Untuk informasi selengkapnya tentang membuat dan mengonfigurasi tampilan data-katalog, lihat Membangun tampilan Katalog Data AWS Glue di Panduan Pengembang AWS Lake Formation .
Menanyakan tampilan Katalog Data
Setelah membuat tampilan Katalog Data, Anda dapat menggunakan peran IAM untuk menanyakan tampilan. Peran IAM harus memiliki izin Lake Formation SELECT pada tampilan Katalog Data. Anda tidak perlu memberikan akses ke tabel dasar yang direferensikan dalam tampilan. Peran IAM yang digunakan untuk menanyakan tampilan harus menjadi peran runtime dari aplikasi EMR. Anda dapat mengakses tampilan dari EMR Tanpa Server, menggunakan peran runtime dari Amazon EMR steps, EMR Studio, dan AI Studio. SageMaker
Setelah semuanya disiapkan, Anda dapat menanyakan tampilan Anda. Misalnya, setelah membuat aplikasi EMR Tanpa Server di EMR Studio, Anda dapat menjalankan kueri berikut untuk mengakses tampilan.
SELECT * from
my_database
.catalog_view
LIMIT 10;
Pertimbangan dan batasan
Saat Anda membuat tampilan Katalog Data, berikut ini berlaku:
Anda hanya dapat membuat tampilan Katalog Data dengan Amazon EMR 7.6 ke atas.
Penentu tampilan Katalog Data harus memiliki
SELECT
akses ke tabel dasar dasar yang diakses oleh tampilan. Membuat tampilan Katalog Data gagal jika tabel dasar tertentu memiliki filter Lake Formation yang dikenakan pada peran definer.Tabel dasar tidak boleh memiliki izin
IAMAllowedPrincipals
data lake di Lake Formation. Jika ada, kesalahan tampilan Multi Dialek mungkin hanya referensi tabel tanpa izin IAMAllowed Prinsipal terjadi.Lokasi Amazon S3 tabel harus terdaftar sebagai lokasi danau data Lake Formation. Jika tabel tidak 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.
Anda hanya dapat membuat tampilan Katalog
PROTECTED
Data.UNPROTECTED
tampilan tidak didukung.Anda tidak dapat mereferensikan tabel di AWS akun lain dalam definisi tampilan Katalog Data. Anda juga tidak dapat mereferensikan tabel di akun yang sama yang berada di wilayah terpisah.
Untuk berbagi data di seluruh akun atau wilayah, seluruh tampilan harus dibagikan lintas akun dan lintas wilayah, menggunakan tautan sumber daya Lake Formation.
Fungsi yang ditentukan pengguna (UDFs) tidak didukung.
Anda dapat menggunakan tampilan berdasarkan tabel Iceberg. Format meja terbuka Apache Hudi dan Delta Lake juga didukung.
Anda tidak dapat mereferensikan tampilan lain dalam tampilan Katalog Data.