Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS Glue Data Catalog pandangan
Topik ini menjelaskan cara membuat tampilan di AWS Glue Data Catalog. Anda dapat menggunakan tampilan di Katalog Data untuk mengakses data di sumber data yang berbeda menggunakan skema yang sama.
Dengan membuat tampilan di Katalog Data, Anda dapat membuat satu skema tampilan umum dan objek metadata untuk digunakan di seluruh mesin seperti Amazon Athena dan Amazon EMR Spark. Melakukannya memungkinkan Anda menggunakan tampilan yang sama di seluruh danau data dan gudang data agar sesuai dengan kasus penggunaan Anda. Tampilan dalam Katalog Data bersifat khusus karena dikategorikan sebagai tampilan yang lebih jelas, di mana izin akses ditentukan oleh pengguna yang membuat tampilan, bukan pengguna yang menanyakan tampilan. Berikut ini adalah beberapa kasus penggunaan dan manfaat membuat tampilan di Katalog Data:
-
Buat 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).
-
Pastikan pengguna tidak dapat mengakses catatan yang tidak lengkap. Dengan menerapkan filter tertentu ke tampilan Anda di Katalog Data, Anda memastikan bahwa catatan data di dalam tampilan di Katalog Data selalu lengkap.
-
Tampilan Katalog Data memiliki manfaat keamanan yang disertakan untuk memastikan bahwa definisi kueri yang digunakan untuk membuat tampilan harus lengkap untuk membuat tampilan. Manfaat keamanan ini berarti bahwa tampilan dalam Katalog Data tidak rentan terhadap perintah SQL dari pemain jahat.
-
Tampilan dalam Katalog Data mendukung keuntungan yang sama seperti tampilan normal, seperti membiarkan pengguna mengakses tampilan tanpa membuat tabel yang mendasarinya tersedia bagi pengguna.
Untuk membuat tampilan di Katalog Data, Anda harus memiliki tabel eksternal Spectrum, objek yang terdapat dalam database yang dikelola Lake Formation, atau tabel Apache Iceberg.
Definisi tampilan Katalog Data disimpan dalam AWS Glue Data Catalog. Gunakan AWS Lake Formation untuk memberikan akses melalui hibah sumber daya, hibah kolom, atau kontrol akses berbasis tag. Untuk informasi selengkapnya tentang pemberian dan pencabutan akses di Lake Formation, lihat Memberikan dan mencabut izin pada sumber daya Katalog Data.
Prasyarat
Sebelum Anda dapat membuat tampilan di Katalog Data, pastikan bahwa Anda telah menyelesaikan prasyarat berikut:
Pastikan peran IAM Anda memiliki kebijakan kepercayaan berikut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Anda juga memerlukan kebijakan peran pass berikut.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1", "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] } } } ] }
Terakhir, Anda juga memerlukan izin berikut.
Glue:GetDatabase
Glue:GetDatabases
Glue:CreateTable
Glue:GetTable
Glue:UpdateTable
Glue:DeleteTable
Glue:GetTables
Glue:SearchTables
Glue:BatchGetPartition
Glue:GetPartitions
Glue:GetPartition
Glue:GetTableVersion
Glue:GetTableVersions
End-to-end contoh
Mulailah dengan membuat skema eksternal berdasarkan database Katalog Data Anda.
CREATE EXTERNAL SCHEMA IF NOT EXISTS external_schema FROM DATA CATALOG DATABASE 'external_data_catalog_db' IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role';
Anda sekarang dapat membuat tampilan Katalog Data.
CREATE EXTERNAL PROTECTED VIEW external_schema.remote_view AS SELECT * FROM external_schema.remote_table;
Anda kemudian dapat mulai menanyakan tampilan Anda.
SELECT * FROM external_schema.remote_view;
Untuk informasi selengkapnya tentang perintah SQL yang terkait dengan tampilan di Katalog Data, lihat MEMBUAT TAMPILAN EKSTERNAL, MENGUBAH TAMPILAN EKSTERNAL, dan MENJATUHKAN TAMPILAN EKSTERNAL.
Pencatatan aman
Redshift menutupi metadata yang dicatat di log sistem Redshift saat kueri mereferensikan tampilan lem multi-dialek. Multi-dialek berarti tampilan mendukung dialek SQL dari mesin kueri yang berbeda, seperti Redshift dan Amazon EMR. Data dalam tabel berikut disamarkan untuk semua kueri dengan id kueri yang sama. Tabel berikut mencantumkan tampilan sistem dan kolom dengan logging aman diterapkan.
Tabel sistem | Kolom sensitif |
---|---|
SYS_EXTERNAL_QUERY_DETAIL | Kolom: source_type, total_partitions, qualified_partitions, scanned_files, returned_rows, returned_bytes, file_format, file_location, external_query_text, warning_message. Untuk informasi selengkapnya, lihat SYS_EXTERNAL_QUERY_DETAIL. |
SYS_EXTERNAL_QUERY_ERROR | Kolom: file_location, rowid, column_name, original_value, modified_value, trigger, action, action_value, error_code. Untuk informasi selengkapnya, lihat SYS_EXTERNAL_QUERY_ERROR. |
SYS_QUERY_DETAIL | Kolom: step_name, table_id, table_name, input_bytes, input_rows, output_bytes, output_rows, blocks_read, blocks_write, local_read_io, remote_read_io, spilled_block_local_disk, spilled_block_remote_disk. Untuk informasi selengkapnya, lihat SYS_QUERY_DETAIL. |
SYS_QUERY_HISTORY | Kolom: returned_rows, returned_bytes. Untuk informasi selengkapnya, lihat SYS_QUERY_HISTORY. |
STL_AGGR | Kolom: baris, byte, tbl, jenis. Untuk informasi selengkapnya, lihat STL_AGGR. |
STL_BCAST | Kolom: baris, byte, paket. Untuk informasi selengkapnya, lihat STL_BCAST. |
STL_DDLTEXT | Kolom: teks. Untuk informasi selengkapnya, lihat STL_DDLTEXT. |
STL_DELETE | Kolom: baris, tbl. Untuk informasi selengkapnya, lihat STL_DELETE. |
STL_DIST | Kolom: baris, byte, paket. Untuk informasi selengkapnya, lihat STL_DIST. |
STL_JELASKAN | Kolom: plannode, info. Untuk informasi selengkapnya, lihat STL_JELASKAN. |
STL_HASH | Kolom: baris, byte, tbl, est_rows. Untuk informasi selengkapnya, lihat STL_HASH. |
STL_HASHJOIN | Kolom: baris, tbl, num_parts, join_type. Untuk informasi selengkapnya, lihat STL_HASHJOIN. |
STL_INSERT | Kolom: baris, tbl. Untuk informasi selengkapnya, lihat STL_INSERT. |
STL_LIMIT | Kolom: baris. Untuk informasi selengkapnya, lihat STL_LIMIT. |
STL_MERGE | Kolom: baris. Untuk informasi selengkapnya, lihat STL_MERGE. |
STL_MERGEJOIN | Kolom: baris, tbl. Untuk informasi selengkapnya, lihat STL_MERGEJOIN. |
STL_NESTLOOP | Kolom: baris, tbl. Untuk informasi selengkapnya, lihat STL_NESTLOOP. |
STL_PARSE | Kolom: baris. Untuk informasi selengkapnya, lihat STL_PARSE. |
STL_PLAN_INFO | Kolom: baris, byte. Untuk informasi selengkapnya, lihat STL_PLAN_INFO. |
STL_PROJECT | Kolom: baris, tbl. Untuk informasi selengkapnya, lihat STL_PROJECT. |
KUERI STL_ | Kolom: querytxt. Untuk informasi selengkapnya, lihat KUERI STL_. |
STL_QUERY_METRICS | Kolom: max_rows, baris, max_blocks_read, max_blocks_to_disk, blocks_to_disk, max_query_scan_size, query_scan_size. Untuk informasi selengkapnya, lihat STL_QUERY_METRICS. |
STL_QUERYTEXT | Kolom: teks. Untuk informasi selengkapnya, lihat STL_QUERYTEXT. |
STL_RETURN | Kolom: baris, byte. Untuk informasi selengkapnya, lihat STL_RETURN. |
STL_SIMPAN | Kolom: baris, byte, tbl. Untuk informasi selengkapnya, lihat STL_SIMPAN. |
STL_SCAN | Kolom: baris, byte, pengambilan, jenis, tbl, rows_pre_filter, perm_table_name, scanned_mega_value. Untuk informasi selengkapnya, lihat STL_SCAN. |
STL_SORT | Kolom: baris, byte, tbl. Untuk informasi selengkapnya, lihat STL_SORT. |
STL_TR_CONFLICT | Kolom: table_id. Untuk informasi selengkapnya, lihat STL_TR_CONFLICT. |
STL_UNDONE | Kolom: table_id. Untuk informasi selengkapnya, lihat STL_UNDONE. |
STL_UNIQUE | Kolom: baris, jenis, byte. Untuk informasi selengkapnya, lihat STL_UNIQUE. |
STL_UTILITYTEXT | Kolom: teks. Untuk informasi selengkapnya, lihat STL_UTILITYTEXT. |
STL_WINDOW | Kolom: baris. Untuk informasi selengkapnya, lihat STL_WINDOW. |
STV_BLOCKLIST | Kolom: col, tbl, num_values, minvalue, maxvalue. Untuk informasi selengkapnya, lihat STV_BLOCKLIST. |
STV_EXEC_STATE | Kolom: baris, byte, label. Untuk informasi selengkapnya, lihat STV_EXEC_STATE. |
STV_LOCKS | Kolom: table_id. Untuk informasi selengkapnya, lihat STV_LOCKS. |
STV_QUERY_METRICS | Kolom: baris, max_rows, blocks_read, max_blocks_read, max_blocks_to_disk, blocks_to_disk, max_query_scan_size, query_scan_size. Untuk informasi selengkapnya, lihat STV_QUERY_METRICS. |
STV_STARTUP_RECOVERY_STATE | Kolom: table_id, table_name. Untuk informasi selengkapnya, lihat STV_STARTUP_RECOVERY_STATE. |
STV_TBL_PERM | Kolom: id, baris, sorted_rows, temp, block_count, query_scan_size. Untuk informasi selengkapnya, lihat STV_TBL_PERM. |
STV_TBL_TRANS | Kolom: id, baris, ukuran. Untuk informasi selengkapnya, lihat STV_TBL_TRANS. |
SVCS_JELASKAN | Kolom: plannode, info. Untuk informasi selengkapnya, lihat SVCS_JELASKAN. |
SVCS_PLAN_INFO | Kolom: baris, byte. Untuk informasi selengkapnya, lihat SVCS_PLAN_INFO. |
SVCS_QUERY_SUMMARY | Kolom: langkah, baris, byte, rate_row, rate_byte, label, rows_pre_filter. Untuk informasi selengkapnya, lihat SVCS_QUERY_SUMMARY. |
SVCS_S3LIST | Kolom: ember, awalan, max_file_size, avg_file_size. Untuk informasi selengkapnya, lihat SVCS_QUERY_SUMMARY. |
SVCS_S3LOG | Kolom: pesan. Untuk informasi selengkapnya, lihat SVCS_QUERY_SUMMARY. |
SVCS_S3PARTITION_SUMMARY | Kolom: total_partitions, qualified_partitions, min_assigned_partitions, max_assigned_partitions, avg_assigned_partitions. Untuk informasi selengkapnya, lihat SVCS_S3PARTITION_SUMMARY. |
SVCS_S3QUERY_SUMMARY | Kolom: external_table_name, file_format, s3_scanned_rows, s3_scanned_bytes, s3query_returned_rows, s3query_returned_bytes. Untuk informasi selengkapnya, lihat SVCS_S3QUERY_SUMMARY. |
SVL_QUERY_METRICS | Kolom: step_label, scan_row_count, join_row_count, nested_loop_join_row_count, return_row_count, spectrum_scan_row_count, spectrum_scan_size_mb. Untuk informasi selengkapnya, lihat SVL_QUERY_METRICS. |
SVL_QUERY_METRICS_SUMMARY | Kolom: step_label, scan_row_count, join_row_count, nested_loop_join_row_count, return_row_count, spectrum_scan_row_count, spectrum_scan_size_mb. Untuk informasi selengkapnya, lihat SVL_QUERY_METRICS_SUMMARY. |
SVL_QUERY_REPORT | Kolom: baris, byte, label, rows_pre_filter. Untuk informasi selengkapnya, lihat SVL_QUERY_REPORT. |
SVL_QUERY_SUMMARY | Kolom: baris, byte, rows_pre_filter. Untuk informasi selengkapnya, lihat SVL_QUERY_SUMMARY. |
SVL_S3LIST | Kolom: ember, awalan, max_file_size, avg_file_size. Untuk informasi selengkapnya, lihat SVL_S3LIST. |
SVL_S3LOG | Kolom: pesan. Untuk informasi selengkapnya, lihat SVL_S3LOG. |
SVL_S3PARTISI | Kolom: baris, byte, label, rows_pre_filter. Untuk informasi selengkapnya, lihat SVL_S3PARTISI. |
SVL_S3PARTITION_SUMMARY | Kolom: total_partitions, qualified_partitions, min_assigned_partitions, max_assigned_partitions, avg_assigned_partitions. Untuk informasi selengkapnya, lihat SVL_S3PARTITION_SUMMARY. |
SVL_S3QUERY | Kolom: external_table_name, file_format, s3_scanned_rows, s3_scanned_bytes, s3query_returned_rows, s3query_returned_bytes. Untuk informasi selengkapnya, lihat SVL_S3QUERY. |
SVL_S3QUERY_SUMMARY | Kolom: external_table_name, file_format, s3_scanned_rows, s3_scanned_bytes, s3query_returned_rows, s3query_returned_bytes. Untuk informasi selengkapnya, lihat SVL_S3QUERY_SUMMARY. |
SVL_S3MENCOBA LAGI | Kolom: file_size, lokasi, pesan. Untuk informasi selengkapnya, lihat SVL_S3MENCOBA LAGI. |
SVL_SPECTRUM_SCAN_ERROR | Kolom: lokasi, rowid, colname, original_value, modified_value. Untuk informasi selengkapnya, lihat SVL_SPECTRUM_SCAN_ERROR. |
SVL_STATEMENTTEXT | Kolom: jenis, teks. Untuk informasi selengkapnya, lihat SVL_STATEMENTTEXT. |
SVL_STORED_PROC_CALL | Kolom: querytxt. Untuk informasi selengkapnya, lihat SVL_STORED_PROC_CALL. |
SVL_STORED_PROC_MESSAGES | Kolom: querytext. Untuk informasi selengkapnya, lihat SVL_STORED_PROC_MESSAGES. |
SVL_UDF_LOG | Kolom: funcname. Untuk informasi selengkapnya, lihat SVL_UDF_LOG. |
SVV_DISKUSAGE | Kolom: nama, col, tbl, blocknum, num_values, minvalue, maxvalue. Untuk informasi selengkapnya, lihat SVV_DISKUSAGE. |
SVV_QUERY_STATE | Kolom: baris, byte, label. Untuk informasi selengkapnya, lihat SVV_QUERY_STATE. |
SVV_TABLE_INFO | Kolom: table_id, tabel. Untuk informasi selengkapnya, lihat SVV_TABLE_INFO. |
SVV_TRANSAKSI-TRANSAKSI | Kolom: relasi. Untuk informasi selengkapnya, lihat SVV_TRANSAKSI-TRANSAKSI. |
Pertimbangan dan batasan
Berikut ini adalah pertimbangan dan batasan yang berlaku untuk tampilan yang dibuat dalam Katalog Data.
AWS Glue Data Catalog tampilan hanya didukung pada cluster yang RA3 disediakan atau grup kerja Redshift Serverless.
Anda tidak dapat membuat tampilan Katalog Data yang didasarkan pada tampilan lain.
Anda hanya dapat memiliki 10 tabel dasar dalam tampilan Katalog Data.
Penentu tampilan harus memiliki
SELECT GRANTABLE
izin penuh pada tabel dasar.Tampilan hanya dapat berisi objek Lake Formation dan built-in. Objek berikut tidak diizinkan di dalam tampilan.
Tabel sistem
Fungsi yang ditentukan pengguna () UDFs
Tabel pergeseran merah, tampilan, tampilan terwujud, dan tampilan pengikatan akhir yang tidak ada dalam pembagian data terkelola Lake Formation.
Tampilan tidak dapat berisi tabel Redshift Spectrum bersarang.
AWS Glue representasi objek dasar tampilan harus sama Akun AWS dan Wilayah sebagai tampilan.