Mirroring dei dati in un data warehouse cloud.
Le attività di mirroring consentono di eseguire query sui dati archiviati nel vostro Qlik Open Lakehouse dai vostri data warehouse cloud. I dati si riflettono nel vostro data warehouse senza bisogno di duplicarli. Le tabelle con mirroring assicurano costi di archiviazione e di progettazione minimi e consentono di mantenere un'unica fonte sullo stato dei dati.
Dopo aver effettuato l'onboarding dei dati in un Qlik Open Lakehouse, è possibile eseguire il mirroring dei dati nel vostro data warehouse cloud utilizzando le tabelle speculari. È possibile eseguire query sui dati in Iceberg utilizzando un motore di query che supporta nativamente Iceberg, come Amazon Athena. Tuttavia, le tabelle speculari sono ideali quando si vuole implementare l'architettura aperta di Iceberg e continuare a utilizzare il motore di query del data warehouse. L'attività dati Mirror automatizza il processo per rendere accessibili le tabelle Iceberg dichiarandole come tabelle e viste esterne nel data warehouse. Il data warehouse si riferisce alla tabella Iceberg come a una vista esterna perché non gestisce la tabella, ma ne legge solo i dati. Le tabelle e le viste esterne consentono di eseguire query sui dati Iceberg nel data warehouse senza migrare i dati o la gestione delle tabelle nel data warehouse.
L'attività mirror esegue le istruzioni DDL necessarie per creare le tabelle e le viste esterne. La tabella (schema) viene visualizzata nel data warehouse, insieme alle tabelle delle modifiche e della cronologia, ma se si esamina la definizione della tabella, viene visualizzata come una vista creata in cima alla tabella esterna. I consumatori di dati possono interrogare le viste come se i dati fossero archiviati nel loro ambiente data warehouse. I dati con mirroring offrono prestazioni elevate, in quanto Qlik continua a gestire e ottimizzare i dati.
Mirroring a più data warehouse
Un singolo set di dati può essere sottoposto a mirroring a più data warehouse cloud. L'immagine seguente dimostra come un progetto Qlik Open Lakehouse pipeline può essere utilizzato per eseguire il mirroring dei dati ad Amazon Redshift e Snowflake:
-
La pipeline acquisisce dati da un database MySQL utilizzando la connessione, MySQL QCDI-BETA.
-
L'attività di trasferimento del Lake, EnergyGen_Lake_landing acquisisce i dati non elaborati in un bucket Amazon S3.
-
Successivamente, l'attività di archiviazione, EnergyGen_Storage copia i dati in una posizione S3 per archiviare i dati in formato Apache Iceberg.
-
L'attività Dati mirror, Redshift Mirror, crea le viste necessarie per consentire l'interrogazione dei dati da Redshift e aggiorna automaticamente i dati.
-
L'attività di trasformazione, Redshift_Energygen_Silver, viene utilizzata per trasformare e utilizzare i dati mirror in Redshift.
-
Una seconda attività dati Mirror, Snowflake Mirror, viene aggiunta per creare le viste necessarie per consentire l'interrogazione dei dati da Snowflake.L'attività mirror utilizza il meccanismo di aggiornamento gestito da Qlik, che consente trasformazioni a valle.
-
L'attività di trasformazione, Snowflake_Energygen_Data_Products, viene utilizzata per trasformare e consumare i dati in Snowflake.
Meccanismo di aggiornamento
Il meccanismo di aggiornamento a tua disposizione dipende dal tuo provider di data warehouse cloud, come dettagliato di seguito.
Redshift
I dati sottoposti a mirroring in Redshift vengono aggiornati automaticamente e non è necessario pianificare o eseguire l'attività. Tutti i nomi di tabelle e viste vengono convertiti in minuscolo in Redshift, poiché Qlik Open Lakehouse non supporta nomi di oggetti sensibili alle maiuscole (database, schema, tabella o colonna).
Snowflake
Snowflake punta ai metadati che riflettono l'ultimo snapshot dei dati disponibili all'interno di Iceberg. Sono disponibili due modi per aggiornare i metadati:
-
Gestito da Qlik: questa opzione richiede un warehouse Snowflake attivo e include il monitoraggio e l'anteprima dei dati. Selezionare questa opzione quando si desidera creare trasformazioni a valle e monitorare e programmare le attività. Qlik è responsabile dell'operazione di aggiornamento dei metadati, quindi è possibile configurarla manualmente, ad esempio per eseguirla ogni 30 minuti. Questa opzione è particolarmente importante per le trasformazioni di più tabelle, in quanto i metadati di tutte le tabelle si aggiornano simultaneamente. Sebbene si possa perdere parte del guadagno in tempo reale offerto dall'aggiornamento gestito da Snowflake, questa opzione consente di mantenere la coerenza tra le tabelle. Per le trasformazioni di più tabelle, è possibile attivare l'aggiornamento tutte le volte che è necessario. Qlik raccomanda di impostare l'attivazione basata sugli eventi per le attività di trasformazione a valle che seguono attività di mirroring programmate.
-
Gestito da Snowflake: un'operazione senza server che sfrutta l'infrastruttura di Snowpipe senza richiedere o attivare un warehouse di calcolo. Questa opzione è consigliata quando non è necessario eseguire trasformazioni a valle. L'intervallo di aggiornamento viene configurato quando si crea l'integrazione del catalogo Snowflake. Per monitorare lo stato dell'aggiornamento automatico, eseguire la query SYSTEM$AUTO_REFRESH_STATUS in Snowflake. Qlik perde la proprietà del processo e non è in grado di monitorare le attività di questo tipo.
The parquet file 'tg_open_lakehouse/bronze/sales/tables/tg_sales_ingestion_bronze__internal.order_details__internal/data/hdr__scd_partition=asset_state/2025_09_12_00_37_asset_state_apply-4bcbb2eb-4ad3-4d88-bea6-ea611576624e.parquet' for table 'OPENLAKEHOUSE."snowflake_mirror__internal"."ext__order_details"' was inaccessible.
Prerequisiti
I seguenti requisiti si applicano a tutti i target di data warehouse supportati:
-
Un'attività dati di mirroring può essere aggiunta solo dopo che è stata creata un'attività di archiviazione in un progetto Qlik Open Lakehouse.
-
Un'attività di archiviazione può avere più attività dati di mirroring, ciascuna destinata a un data warehouse diverso.
-
Un'attività dati di mirroring può essere associata a una sola attività di archiviazione.
-
Per eseguire le trasformazioni, creare un progetto di data warehouse e utilizzare l'attività Dati mirror come origine. Il progetto e l'attività mirror devono utilizzare la stessa piattaforma di data warehouse, ad esempio Redshift.
Per eseguire il mirroring dei dati, configurare le impostazioni per il data warehouse di destinazione.
Redshift
-
Una connessione al database del data warehouse in cui si desidera eseguire il mirroring dei dati. Opzionalmente, è possibile creare una nuova connessione durante la creazione dell'attività di mirroring. Per ulteriori informazioni, vedere Amazon Redshift.
-
Un ruolo IAM assunto da Redshift con permessi di lettura per Glue Data Catalog.Lo script seguente fornisce le autorizzazioni necessarie per accedere al catalogo. Assicurati di sostituire <ICEBERG_BUCKET_NAME> con il nome del tuo bucket:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<ICEBERG_BUCKET_NAME>", "arn:aws:s3:::<ICEBERG_BUCKET_NAME>/*" ] } }Questo ruolo richiede la seguente relazione di fiducia:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }Nota informaticaPer maggiori informazioni, consulta IAM policies for Amazon Redshift Spectrum. -
Uno schema esterno in Redshift che punta al database del task di archiviazione. È necessario creare uno schema esterno Redshift, eseguendo il comando CREATE EXTERNAL SCHEMA e puntando al database interno del task di archiviazione Iceberg di origine. I consumer esterni dovrebbero consumare dalle viste di consumo dello schema del task mirror. Per creare lo schema esterno, usa la seguente sintassi, assicurandosi che la proprietà DATABASE sia il database creato dal task di archiviazione:
CREATE EXTERNAL SCHEMA <local_schema_name>
FROM DATA CATALOG
DATABASE '<database_name>'
IAM_ROLE 'arn:aws:iam::<AWS account-id>:role/<role-name>'
REGION '<aws-region>'
Snowflake
-
Una connessione al database del data warehouse in cui si desidera eseguire il mirroring dei dati. Opzionalmente, è possibile creare una nuova connessione durante la creazione dell'attività di mirroring. Per ulteriori informazioni, vedere Snowflake.
-
Un volume esterno Snowflake. Questo garantisce a Snowflake un accesso limitato alla posizione S3 dell'utente. Per configurare il volume, vedere Configurare un volume esterno per Amazon S3.
-
Un'integrazione del catalogo dati AWS Glue. Questa consente a Snowflake di collegarsi ai dati nel formato di tabella aperto Iceberg nel proprio archivio di oggetti. Per configurare un'integrazione del catalogo, vedere Configurare un'integrazione del catalogo per AWS Glue.
Creazione di un'attività dati di mirroring
Per eseguire il mirroring dei dati nel data warehouse, fare quanto segue:
-
Aprire il progetto che contiene l'attività di archiviazione per i dati per cui si desidera eseguire il mirroring.
-
Fare clic su
Altre azioni sull'attività di archiviazione. Selezionare i Mirroring dei dati, quindi configurare le seguenti opzioni:
-
Nome: inserire un nome per l'attività di mirroring.
-
Descrizione: opzionalmente, descrivere lo scopo dell'attività.
-
Data warehouse: selezionare il data warehouse di destinazione.
-
Connessione:
-
per utilizzare una connessione esistente, fare clic su Seleziona per aprire la finestra di dialogo Connessione di origine sicura. Scegliere lo Spazio in cui si trova la connessione, quindi selezionare la connessione. Fare clic su Modifica per modificare le proprietà della connessione.
-
Per creare una nuova connessione, fare clic su Crea connessione per aprire la finestra di dialogo Crea connessione, quindi seguire le istruzioni.
-
-
Database: inserire il nome del database in cui si desidera eseguire il mirroring dei dati.
-
Per eseguire il mirroring su Redshift:
-
Schema esterno: Immettere il nome dello schema in cui verranno create le visualizzazioni.
Nota informaticaTutti i nomi di tabelle e viste vengono convertiti in minuscolo in Redshift.
-
-
Per eseguire il mirroring su Snowflake:
-
Volume esterno Snowflake: inserire il nome del volume esterno creato in Snowflake.
-
Integrazione di catalogo Snowflake: inserire il nome dell'integrazione del catalogo creata in Snowflake.
-
Selezionare il modo in cui si desidera che i dati vengano aggiornati in Snowflake:
-
Gestito da Qlik: selezionare questa opzione se si desidera creare trasformazioni a valle. Questa opzione richiede un warehouse Snowflake attivo ed è monitorata da Qlik.
-
Gestito da Snowflake: selezionare questa opzione se non si desidera eseguire trasformazioni a valle. Non è richiesto un warehouse Snowflake e quindi non è monitorato da Qlik. Questo viene amministrato e monitorato in Snowflake.
-
-
-
Fare clic su OK per creare l'attività di mirroring e aggiungerla all'attività di archiviazione nella pipeline.
-
Fare clic su
Altre azioni sull'attività di mirroring e selezionare Apri. Assicurarsi di visualizzare la vista Progettazione.
-
Per selezionare un sottoinsieme dei set di dati disponibili, fare clic su Seleziona dati di origine e rimuovere i set di dati indesiderati.
-
Fare clic su Prepara per creare gli oggetti esterni ed eseguire il mirroring dei dati.
Eseguire trasformazioni
Se è necessario trasformare i dati, è possibile creare un progetto Redshift o Snowflake e utilizzare come sorgente un'attività dati di mirroring all'interno del progetto del Qlik Open Lakehouse.La sorgente dell'attività di mirroring deve essere la stessa piattaforma di data warehouse cloud del progetto.Ad esempio, quando si crea un progetto Redshift per eseguire trasformazioni, è necessario utilizzare un'attività dati di mirroring Redshift come sorgente.
Eliminazione di un'attività dati di mirroring
Quando si elimina un'attività mirror, gli schemi interni e le viste creati dall'attività mirror vengono eliminati. Gli schemi esterni e la tabella in Redshift non vengono eliminati. Se una tabella viene eliminata da AWS Glue, ad esempio, quando un utente elimina il set di dati nell'archiviazione o elimina l'intera attività di archiviazione, la modifica viene automaticamente riflessa nello schema esterno di Redshift. La tabella viene rimossa e non deve essere eliminata separatamente. Come best practice, eliminare interamente lo schema esterno se non è più in uso.
Per eliminare un'attività dati di mirroring, fare quanto segue:
-
Nell'attività dati di mirroring che si desidera eliminare, fare clic sul menu
Altre azioni dell'attività e selezionare Elimina. -
Nella finestra di dialogo di conferma, fare clic su Elimina.