Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Bekerja dengan tampilan Glue Data Catalog - Amazon EMR

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

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.

Using SQL

Berikut ini menunjukkan sintaks untuk membuat tampilan Data Catalog. Perhatikan jenis MULTI DIALECT tampilan. Ini membedakan tampilan Katalog Data dari tampilan lain. SECURITYPredikat 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 ] AS view-sql
Using the AWS CLI
catatan

Saat Anda menggunakan perintah CLI, SQL yang digunakan untuk membuat tampilan tidak diurai. Ini dapat mengakibatkan kasus di mana tampilan dibuat, tetapi kueri tidak berhasil. Pastikan untuk menguji sintaks SQL Anda sebelum membuat tampilan.

Anda menggunakan perintah CLI berikut untuk membuat tampilan:

aws glue create-table --cli-input-json '{ "DatabaseName": "database", "TableInput": { "Name": "view", "StorageDescriptor": { "Columns": [ { "Name": "col1", "Type": "data-type" }, ... { "Name": "colN", "Type": "data-type" } ], "SerdeInfo": {} }, "ViewDefinition": { "SubObjects": [ "arn:aws:glue:aws-region:aws-account-id:table/database/referenced-table1", ... "arn:aws:glue:aws-region:aws-account-id:table/database/referenced-tableN", ], "IsProtected": true, "Representations": [ { "Dialect": "SPARK", "DialectVersion": "1.0", "ViewOriginalText": "Spark-SQL", "ViewExpandedText": "Spark-SQL" } ] } } }'

Berikut ini menunjukkan sintaks untuk membuat tampilan Data Catalog. Perhatikan jenis MULTI DIALECT tampilan. Ini membedakan tampilan Katalog Data dari tampilan lain. SECURITYPredikat 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 ] AS view-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 menggunakannya FORCE 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. UNPROTECTEDtampilan 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.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.