AWS Glue Data Catalog pandangan - Amazon Redshift

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.