Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS Glue Data Catalog vues
Cette rubrique décrit comment créer des vues dans le AWS Glue Data Catalog. Vous pouvez utiliser les vues du catalogue de données pour accéder aux données de différentes sources de données en utilisant le même schéma.
En créant des vues dans le catalogue de données, vous pouvez créer un schéma de vue et un objet de métadonnées communs uniques à utiliser sur des moteurs tels qu'Amazon Athena et Amazon EMR Spark. Cela vous permet d’utiliser les mêmes vues sur l’ensemble de vos lacs de données et de vos entrepôts des données pour répondre à vos cas d’utilisation. Les vues du catalogue de données ont ceci de particulier qu’elles sont classées dans la catégorie des vues de définisseur, où les autorisations d’accès sont définies par l’utilisateur qui a créé la vue et non par l’utilisateur qui interroge la vue. Voici quelques cas d’utilisation et avantages de la création de vues dans le catalogue de données :
-
Créer une vue qui restreint l’accès aux données en fonction des autorisations dont l’utilisateur a besoin. Par exemple, vous pouvez utiliser les vues du catalogue de données pour empêcher les employés qui ne travaillent pas dans le service des ressources humaines de voir des informations personnelles identifiables (PII).
-
S’assurer que les utilisateurs ne peuvent pas accéder aux enregistrements incomplets. En appliquant certains filtres aux vues du catalogue de données, vous vous assurez que les enregistrements de données d’une vue du catalogue de données sont toujours complets.
-
Les vues du catalogue de données présentent un avantage en matière de sécurité, car la définition de requête utilisée pour créer la vue doit être complète pour que la vue soit créée. Cet avantage de sécurité signifie que les vues du catalogue de données ne sont pas sensibles aux SQL commandes de joueurs malveillants.
-
Les vues du catalogue de données présentent les mêmes avantages que les vues normales, notamment en permettant aux utilisateurs d’accéder à une vue sans mettre la table sous-jacente à leur disposition.
Pour créer une vue dans le catalogue de données, vous devez disposer d’une table externe Spectrum, d’un objet contenu dans une unité de partage des données gérée par Lake Formation ou d’une table Apache Iceberg.
Les définitions des vues du catalogue de données sont stockées dans le AWS Glue Data Catalog. AWS Lake Formation À utiliser pour accorder l'accès via des autorisations de ressources, des autorisations de colonnes ou des contrôles d'accès basés sur des balises. Pour plus d’informations sur l’octroi et la révocation de l’accès dans Lake Formation, consultez Octroi et révocation d’autorisations liées aux ressources du catalogue de données.
Prérequis
Avant de pouvoir créer une vue dans le catalogue de données, assurez-vous que les conditions préalables suivantes sont remplies :
Assurez-vous que votre IAM rôle est soumis à la politique de confiance suivante.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Vous avez aussi besoin de la stratégie de transmission de rôle suivante.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1", "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] } } } ] }
Enfin, vous aurez également besoin des autorisations suivantes.
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 exemple
Commencez par créer un schéma externe basé sur la base de données de votre catalogue de données.
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';
Vous pouvez désormais créer une vue du catalogue de données.
CREATE EXTERNAL PROTECTED VIEW external_schema.remote_view AS SELECT * FROM external_schema.remote_table;
Vous pouvez ensuite commencer à interroger cette vue.
SELECT * FROM external_schema.remote_view;
Pour plus d'informations sur les SQL commandes associées aux vues du catalogue de données, reportez-vous aux CREATEEXTERNALVIEWsections ALTEREXTERNALVIEW, et DROPEXTERNALVIEW.
Journalisation sécurisée
Redshift masque les métadonnées enregistrées dans les journaux du système Redshift lorsqu'une requête fait référence à une vue collée multidialectale. Le multidialecte signifie que la vue prend en charge les SQL dialectes de différents moteurs de requête, tels que Redshift et Amazon. EMR Les données des tables suivantes sont masquées pour toutes les requêtes ayant le même identifiant de requête. Le tableau suivant répertorie les vues et les colonnes du système auxquelles la journalisation sécurisée est appliquée.
Tableau du système | Colonnes sensibles |
---|---|
SYS_EXTERNAL_QUERY_DETAIL | Colonnes : source_type, total_partitions, qualified_partitions, scanned_files, returned_rows, returned_bytes, file_format, file_location, external_query_text, warning_message. Pour de plus amples informations, veuillez consulter SYS_EXTERNAL_QUERY_DETAIL. |
SYS_EXTERNAL_QUERY_ERROR | Colonnes : file_location, rowid, column_name, original_value, modified_value, trigger, action, action_value, error_code. Pour de plus amples informations, veuillez consulter SYS_EXTERNAL_QUERY_ERROR. |
SYS_QUERY_DETAIL | Colonnes : 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. Pour de plus amples informations, veuillez consulter SYS_QUERY_DETAIL. |
SYS_QUERY_HISTORY | Colonnes : returned_rows, returned_bytes. Pour de plus amples informations, veuillez consulter SYS_QUERY_HISTORY. |
STL_AGGR | Colonnes : lignes, octets, tbl, type. Pour de plus amples informations, veuillez consulter STL_AGGR. |
STL_BCAST | Colonnes : lignes, octets, paquets. Pour de plus amples informations, veuillez consulter STL_BCAST. |
STL_DDLTEXT | Colonnes : texte. Pour de plus amples informations, veuillez consulter STL_DDLTEXT. |
STL_DELETE | Colonnes : lignes, tabl. Pour de plus amples informations, veuillez consulter STL_DELETE. |
STL_DIST | Colonnes : lignes, octets, paquets. Pour de plus amples informations, veuillez consulter STL_DIST. |
STL_EXPLAIN | Colonnes : plannode, info. Pour de plus amples informations, veuillez consulter STL_EXPLAIN. |
STL_HASH | Colonnes : lignes, octets, tbl, est_rows. Pour de plus amples informations, veuillez consulter STL_HASH. |
STL_HASHJOIN | Colonnes : rows, tbl, num_parts, join_type. Pour de plus amples informations, veuillez consulter STL_HASHJOIN. |
STL_INSERT | Colonnes : lignes, tabl. Pour de plus amples informations, veuillez consulter STL_INSERT. |
STL_LIMIT | Colonnes : lignes. Pour de plus amples informations, veuillez consulter STL_LIMIT. |
STL_MERGE | Colonnes : lignes. Pour de plus amples informations, veuillez consulter STL_MERGE. |
STL_MERGEJOIN | Colonnes : lignes, tabl. Pour de plus amples informations, veuillez consulter STL_MERGEJOIN. |
STL_NESTLOOP | Colonnes : lignes, tabl. Pour de plus amples informations, veuillez consulter STL_NESTLOOP. |
STL_PARSE | Colonnes : lignes. Pour de plus amples informations, veuillez consulter STL_PARSE. |
STL_PLAN_INFO | Colonnes : lignes, octets. Pour de plus amples informations, veuillez consulter STL_PLAN_INFO. |
STL_PROJECT | Colonnes : lignes, tabl. Pour de plus amples informations, veuillez consulter STL_PROJECT. |
STL_QUERY | Colonnes : querytxt. Pour de plus amples informations, veuillez consulter STL_QUERY. |
STL_QUERY_METRICS | Colonnes : max_rows, rows, max_blocks_read, blocks_read, max_blocks_to_disk, blocks_to_disk, max_query_scan_size, query_scan_size. Pour de plus amples informations, veuillez consulter STL_QUERY_METRICS. |
STL_QUERYTEXT | Colonnes : texte. Pour de plus amples informations, veuillez consulter STL_QUERYTEXT. |
STL_RETURN | Colonnes : lignes, octets. Pour de plus amples informations, veuillez consulter STL_RETURN. |
STL_SAVE | Colonnes : lignes, octets, tbl. Pour de plus amples informations, veuillez consulter STL_SAVE. |
STL_SCAN | Colonnes : lignes, octets, extractions, type, tbl, rows_pre_filter, perm_table_name, scanned_mega_value. Pour de plus amples informations, veuillez consulter STL_SCAN. |
STL_SORT | Colonnes : lignes, octets, tbl. Pour de plus amples informations, veuillez consulter STL_SORT. |
STL_TR_ CONFLICT | Colonnes : table_id. Pour de plus amples informations, veuillez consulter STL_TR_CONFLICT. |
STL_UNDONE | Colonnes : table_id. Pour de plus amples informations, veuillez consulter STL_UNDONE. |
STL_UNIQUE | Colonnes : lignes, type, octets. Pour de plus amples informations, veuillez consulter STL_UNIQUE. |
STL_UTILITYTEXT | Colonnes : texte. Pour de plus amples informations, veuillez consulter STL_UTILITYTEXT. |
STL_WINDOW | Colonnes : lignes. Pour de plus amples informations, veuillez consulter STL_WINDOW. |
STV_BLOCKLIST | Colonnes : col, tbl, num_values, minvalue, maxvalue. Pour de plus amples informations, veuillez consulter STV_BLOCKLIST. |
STV_EXEC_STATE | Colonnes : lignes, octets, étiquette. Pour de plus amples informations, veuillez consulter STV_EXEC_STATE. |
STV_LOCKS | Colonnes : table_id. Pour de plus amples informations, veuillez consulter STV_LOCKS. |
STV_QUERY_METRICS | Colonnes : lignes, max_rows, blocks_read, max_blocks_read, max_blocks_to_disk, blocks_to_disk, max_query_scan_size, query_scan_size. Pour de plus amples informations, veuillez consulter STV_QUERY_METRICS. |
STV_STARTUP_RECOVERY_STATE | Colonnes : table_id, table_name. Pour de plus amples informations, veuillez consulter STV_STARTUP_RECOVERY_STATE. |
STV_TBL_PERM | Colonnes : id, rows, sorted_rows, temp, block_count, query_scan_size. Pour de plus amples informations, veuillez consulter STV_TBL_PERM. |
STV_TBL_TRANS | Colonnes : identifiant, lignes, taille. Pour de plus amples informations, veuillez consulter STV_TBL_TRANS. |
SVCS_EXPLAIN | Colonnes : plannode, info. Pour de plus amples informations, veuillez consulter SVCS_EXPLAIN. |
SVCS_PLAN_INFO | Colonnes : lignes, octets. Pour de plus amples informations, veuillez consulter SVCS_PLAN_INFO. |
SVCS_QUERY_SUMMARY | Colonnes : step, rows, bytes, rate_row, rate_byte, label, rows_pre_filter. Pour de plus amples informations, veuillez consulter SVCS_QUERY_SUMMARY. |
SVCS_S3 LIST | Colonnes : bucket, prefix, max_file_size, avg_file_size. Pour de plus amples informations, veuillez consulter SVCS_QUERY_SUMMARY. |
SVCS_S3 LOG | Colonnes : message. Pour de plus amples informations, veuillez consulter SVCS_QUERY_SUMMARY. |
SVCS_S3 _ PARTITION SUMMARY | Colonnes : total_partitions, qualified_partitions, min_assigned_partitions, max_assigned_partitions, avg_assigned_partitions. Pour de plus amples informations, veuillez consulter SVCS_S3 _ PARTITION SUMMARY. |
SVCS_S3 _ QUERY SUMMARY | Colonnes : external_table_name, file_format, s3_scanned_rows, s3_scanned_bytes, s3query_returned_rows, s3query_returned_bytes. Pour de plus amples informations, veuillez consulter SVCS_S3 _ QUERY SUMMARY. |
SVL_QUERY_METRICS | Colonnes : step_label, scan_row_count, join_row_count, nested_loop_join_row_count, return_row_count, spectrum_scan_row_count, spectrum_scan_size_mb. Pour de plus amples informations, veuillez consulter SVL_QUERY_METRICS. |
SVL_QUERY_METRICS_SUMMARY | Colonnes : step_label, scan_row_count, join_row_count, nested_loop_join_row_count, return_row_count, spectrum_scan_row_count, spectrum_scan_size_mb. Pour de plus amples informations, veuillez consulter SVL_QUERY_METRICS_SUMMARY. |
SVL_QUERY_REPORT | Colonnes : lignes, octets, label, rows_pre_filter. Pour de plus amples informations, veuillez consulter SVL_QUERY_REPORT. |
SVL_QUERY_SUMMARY | Colonnes : lignes, octets, rows_pre_filter. Pour de plus amples informations, veuillez consulter SVL_QUERY_SUMMARY. |
SVL_S3 LIST | Colonnes : bucket, prefix, max_file_size, avg_file_size. Pour de plus amples informations, veuillez consulter SVL_S3LIST. |
SVL_S3 LOG | Colonnes : message. Pour de plus amples informations, veuillez consulter SVL_S3LOG. |
SVL_S3 PARTITION | Colonnes : lignes, octets, label, rows_pre_filter. Pour de plus amples informations, veuillez consulter SVL_S3PARTITION. |
SVL_S3 _ PARTITION SUMMARY | Colonnes : total_partitions, qualified_partitions, min_assigned_partitions, max_assigned_partitions, avg_assigned_partitions. Pour de plus amples informations, veuillez consulter SVL_S3PARTITION_SUMMARY. |
SVL_S3 QUERY | Colonnes : external_table_name, file_format, s3_scanned_rows, s3_scanned_bytes, s3query_returned_rows, s3query_returned_bytes. Pour de plus amples informations, veuillez consulter SVL_S3QUERY. |
SVL_S3 _ QUERY SUMMARY | Colonnes : external_table_name, file_format, s3_scanned_rows, s3_scanned_bytes, s3query_returned_rows, s3query_returned_bytes. Pour de plus amples informations, veuillez consulter SVL_S3QUERY_SUMMARY. |
SVL_S3 RETRIES | Colonnes : file_size, location, message. Pour de plus amples informations, veuillez consulter SVL_S3RETRIES. |
SVL_SPECTRUM_SCAN_ERROR | Colonnes : location, rowid, colname, original_value, modified_value. Pour de plus amples informations, veuillez consulter SVL_SPECTRUM_SCAN_ERROR. |
SVL_STATEMENTTEXT | Colonnes : type, texte. Pour de plus amples informations, veuillez consulter SVL_STATEMENTTEXT. |
SVL_STORED_PROC_CALL | Colonnes : querytxt. Pour de plus amples informations, veuillez consulter SVL_STORED_PROC_CALL. |
SVL_STORED_PROC_MESSAGES | Colonnes : texte de requête. Pour de plus amples informations, veuillez consulter SVL_STORED_PROC_MESSAGES. |
SVL_UDF_LOG | Colonnes : funcname. Pour de plus amples informations, veuillez consulter SVL_UDF_LOG. |
SVV_DISKUSAGE | Colonnes : name, col, tbl, blocknum, num_values, minvalue, maxvalue. Pour de plus amples informations, veuillez consulter SVV_DISKUSAGE. |
SVV_QUERY_STATE | Colonnes : lignes, octets, étiquette. Pour de plus amples informations, veuillez consulter SVV_QUERY_STATE. |
SVV_TABLE_INFO | Colonnes : table_id, table. Pour de plus amples informations, veuillez consulter SVV_TABLE_INFO. |
SVV_TRANSACTIONS | Colonnes : relation. Pour de plus amples informations, veuillez consulter SVV_TRANSACTIONS. |
Considérations et restrictions
Les considérations et restrictions suivantes s’appliquent aux vues créées dans le catalogue de données.
Vous ne pouvez pas créer une vue du catalogue de données basée sur une autre vue.
Une vue du catalogue de données ne peut comporter que 10 tables de base.
Le définisseur de la vue doit disposer d’autorisations
SELECT GRANTABLE
complètes sur les tables de base.Les vues ne peuvent contenir que des éléments intégrés et des objets Lake Formation. Les objets suivants ne sont pas autorisés à l’intérieur d’une vue.
Tables système
Fonctions définies par l'utilisateur () UDFs
Tables, vues, vues matérialisées et vues à liaison tardive Redshift qui ne se trouvent pas dans une unité de partage des données gérée par Lake Formation.
Les vues ne peuvent pas contenir de tables Redshift Spectrum imbriquées.
AWS Glue les représentations des objets de base d'une vue doivent être dans la même Compte AWS région que la vue.