Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Filtraggio dei dati per le integrazioni zero di Amazon RDS con Amazon ETL Redshift
Puoi utilizzare il filtraggio dei dati per le integrazioni zero ETL di Amazon RDS per definire l'ambito della replica dal cluster data warehouse Amazon Redshift di destinazione. Invece di replicare tutti i dati sulla destinazione, puoi definire uno o più filtri che includono o escludono selettivamente determinate tabelle dalla replica. Per le integrazioni zero è disponibile solo il filtraggio a livello di database e tabella. ETL Non puoi filtrare per colonne o righe.
Il filtraggio dei dati può essere utile quando desideri:
-
Risparmia sui costi eseguendo analisi utilizzando solo un sottoinsieme di tabelle anziché un'intera flotta di database.
-
Filtra le informazioni sensibili, come numeri di telefono, indirizzi o dettagli delle carte di credito, da determinate tabelle.
Puoi aggiungere filtri di dati a un'ETLintegrazione zero utilizzando AWS Management Console, the AWS Command Line Interface (AWS CLI) o Amazon RDSAPI.
Se l'integrazione ha come destinazione un cluster Amazon Redshift fornito, il cluster deve essere sulla patch 180 o successiva.
Argomenti
Formato di un filtro dati
È possibile definire più filtri per una singola integrazione. Ogni filtro include o esclude tutte le tabelle di database esistenti e future che corrispondono a uno dei modelli nell'espressione del filtro. ETLLe integrazioni zero di Amazon RDS utilizzano la sintassi del filtro Maxwell per il filtraggio
Ogni filtro contiene i seguenti elementi:
Elemento | Descrizione |
---|---|
Tipo di filtro |
Un tipo di |
Espressione filtro |
Un elenco di modelli separati da virgole. Le espressioni devono utilizzare la sintassi del filtro Maxwell |
Pattern |
Un pattern di filtro nel formato Non è possibile includere filtri o denylist a livello di colonna. Una singola integrazione può avere un massimo di 99 pattern totali. Nella console, è possibile inserire modelli all'interno di una singola espressione di filtro o distribuirli tra più espressioni. Un singolo pattern non può superare i 256 caratteri di lunghezza. |
L'immagine seguente mostra la struttura dei filtri data nella console:
Importante
Non includere informazioni di identificazione personale, riservate o sensibili nei modelli di filtro.
Filtri di dati in AWS CLI
Quando si utilizza AWS CLI per aggiungere un filtro dati, la sintassi è leggermente diversa rispetto a quella della console. Ogni singolo pattern deve essere associato al proprio tipo di filtro (Include
oExclude
). Non è possibile raggruppare più pattern con un unico tipo di filtro.
Ad esempio, nella console è possibile raggruppare i seguenti modelli separati da virgole all'interno di una singola istruzione: Include
mydb
.mytable
,mydb
./table_\d+/
Tuttavia, quando si utilizza AWS CLI, lo stesso filtro dati deve avere il seguente formato:
'include:
mydb.mytable
, include:mydb./table_\d+/
'
Logica dei filtri
Se non specifichi alcun filtro di dati nella tua integrazione, Amazon RDS presuppone un filtro predefinito di include:*.*
e replica tutte le tabelle nel data warehouse di destinazione. Tuttavia, se si specifica almeno un filtro, la logica inizia con un presuppostoexclude:*.*
, il che significa che tutte le tabelle vengono automaticamente escluse dalla replica. Ciò consente di definire direttamente quali tabelle e database includere.
Ad esempio, se si definisce il seguente filtro:
'include: db.table1, include: db.table2'
Amazon RDS valuta il filtro come segue:
'exclude:*.*, include: db.table1, include: db.table2'
Pertanto, solo table1
e table2
dal database denominato db
vengono replicati nel data warehouse di destinazione.
Precedenza dei filtri
Amazon RDS valuta i filtri di dati nell'ordine in cui sono specificati. In AWS Management Console, ciò significa che Amazon RDS valuta le espressioni di filtro da sinistra a destra e dall'alto verso il basso. Se specifichi un determinato pattern per il primo filtro, un secondo filtro o anche un pattern individuale specificato subito dopo può sovrascriverlo.
Ad esempio, il primo filtro potrebbe essere Include
books.stephenking
, che include una singola tabella denominata stephenking
all'interno del books
database. Tuttavia, se si aggiunge un secondo filtro di Exclude
books.*
, questo sostituisce il Include
filtro definito in precedenza. Pertanto, nessuna tabella dell'books
indice viene replicata su Amazon Redshift.
Se si specifica almeno un filtro, la logica inizia con un presuppostoexclude:*.*
, il che significa che tutte le tabelle vengono automaticamente escluse dalla replica. Pertanto, come procedura consigliata generale, è consigliabile definire i filtri dal più ampio al meno ampio. Ad esempio, utilizzate una o più Include
istruzioni per definire tutti i dati che desiderate replicare. Quindi, iniziate ad aggiungere Exclude
filtri per escludere selettivamente determinate tabelle dalla replica.
Lo stesso principio si applica ai filtri definiti utilizzando. AWS CLIAmazon RDS valuta questi modelli di filtro nell'ordine in cui sono specificati, quindi un modello potrebbe sovrascrivere uno specificato in precedenza.
I seguenti esempi dimostrano come funziona il filtraggio dei dati per le My:
-
Includi tutti i database e tutte le tabelle:
'include: *.*'
-
Includi tutte le tabelle all'interno del
books
database:'include: books.*'
-
Escludi tutte le tabelle denominate
mystery
:'include: *.*, exclude: *.mystery'
-
Includi due tabelle specifiche all'interno del
books
database:'include: books.stephen_king, include: books.carolyn_keene'
-
Includi tutte le tabelle del
books
database, ad eccezione di quelle contenenti la sottostringamystery
:'include: books.*, exclude: books./.*mystery.*/'
-
Include tutte le tabelle del
books
database, ad eccezione di quelle che iniziano conmystery
:'include: books.*, exclude: books./mystery.*/'
-
Include tutte le tabelle del
books
database, ad eccezione di quelle che terminano conmystery
:'include: books.*, exclude: books./.*mystery/'
-
Include tutte le tabelle del
books
database che iniziano contable_
, ad eccezione di quella denominatatable_stephen_king
. Ad esempio,table_movies
otable_books
verrebbe replicato, ma nontable_stephen_king
.'include: books./table_.*/, exclude: books.table_stephen_king'
Aggiungere filtri di dati a un'integrazione
Puoi configurare il filtraggio dei dati utilizzando Amazon AWS Management Console AWS CLI, the o Amazon RDSAPI.
Importante
Se aggiungi un filtro dopo aver creato un'integrazione, Amazon RDS rivaluta il filtro come se fosse sempre esistito. Rimuove tutti i dati attualmente presenti nel data warehouse Amazon Redshift di destinazione che non soddisfano i nuovi criteri di filtraggio. Questa azione provoca la risincronizzazione di tutte le tabelle interessate.
Per aggiungere filtri di dati a un'integrazione zero ETL
Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel pannello di navigazione, scegli Zero- ETL integrazioni. Seleziona l'integrazione a cui desideri aggiungere filtri di dati, quindi scegli Modifica.
-
In Fonte, aggiungi una o più
Exclude
istruzioniInclude
e.L'immagine seguente mostra un esempio di filtri di dati per un'integrazione Aurora MySQL:
-
Quando tutte le modifiche sono come desideri, scegli Continua e Salva le modifiche.
Per aggiungere filtri di dati a un'ETLintegrazione zero utilizzando AWS CLI, chiamate il comando modify-integration--data-filter
parametro con un elenco separato da virgole di filtri Maxwell. Include
Exclude
L'esempio seguente aggiunge modelli di filtro a. my-integration
In Linux, macOS, oppure Unix:
aws rds modify-integration \ --integration-identifier
my-integration
\ --data-filter'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'
In Windows:
aws rds modify-integration ^ --integration-identifier
my-integration
^ --data-filter'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'
Per modificare un'ETLintegrazione zero utilizzando RDSAPI, chiamate l'ModifyIntegrationoperazione. Specificate l'identificatore di integrazione e fornite un elenco di modelli di filtro separati da virgole.
Rimozione dei filtri di dati da un'integrazione
Quando rimuovi un filtro dati da un'integrazione, Amazon RDS rivaluta i filtri rimanenti come se il filtro rimosso non fosse mai esistito. Amazon RDS replica quindi tutti i dati che in precedenza non corrispondevano ai criteri di filtraggio (ma che ora lo fanno) nel data warehouse Amazon Redshift di destinazione.
La rimozione di uno o più filtri di dati causa la risincronizzazione di tutte le tabelle interessate.