Azure Synapse Analytics
È possibile utilizzare Azure Synapse Analytics come piattaforma dati di destinazione in una pipeline di dati. In una pipeline di dati, è possibile eseguire diverse operazioni ELT nella piattaforma di destinazione, tra cui archiviare i dati, trasformarli, creare data mart e registrare i dati.
Per l'impostazione di Azure Synapse Analytics come destinazione sono necessari i seguenti elementi:
- Adempimento dei prerequisiti
- La configurazione di una connessione su un'area di staging cloud (Azure Data Lake Storage). Questa non è richiesta se si registrano i dati esistenti.
- Configurazione di una connessione su Azure Synapse Analytics
Configurazione di un'area di staging cloud
Inoltre, è necessario impostare un'area di staging cloud Azure Data Lake Storage dove i dati e le modifiche vengono approntati prima di essere applicati e archiviati. Per informazioni su come impostare una connessione ad Azure Data Lake Storage, vedere Azure Data Lake Storage.
Configurazione delle proprietà della connessione Azure Synapse Analytics
Una volta fornite le impostazioni Destinazione Azure Data Lake Storage, procedere come indicato di seguito:
-
In Connessioni, fare clic su Crea connessione.
-
Selezionare il connettore Azure Synapse Analytics di destinazione, quindi fornire le seguenti impostazioni:
Destinazione dati
Gateway dati
È richiesto un Gateway di Data Movement solo se non è possibile accedere al database di destinazione da Qlik Cloud ed è possibile accedervi solo utilizzando un Private Link (ad esempio, se è posizionato o in un Virtual Private Cloud). In questo caso, selezionare il Gateway di Data Movement che si desidera utilizzare per accedere al database di destinazione.
A seconda del caso di utilizzo, questo sarà lo stesso Gateway di Data Movement distribuito per spostare i dati da una sorgente dati, oppure uno differente.
Per informazioni sui casi di utilizzo del Gateway di Data Movement, vedere Quando è richiesto il Gateway di Data Movement? e Casi di utilizzo comuni.
Se il database di destinazione è accessibile direttamente da Qlik Cloud, selezionare Nessuno.
Proprietà di connessione
-
Server: il nome host per identificare la posizione del database Azure Synapse Analytics.
-
Porta: la porta che si desidera utilizzare per accedere al database Azure Synapse Analytics. Il valore predefinito è 1433.
Proprietà dell'account
Nome utente e Password: il nome utente e la password di un utente autorizzato ad accedere al database di Azure Synapse Analytics.
Proprietà del database
-
Nome database: per specificare un database, è possibile utilizzare i due metodi descritti di seguito.
- Metodo 1 - Selezione da un elenco: questo metodo richiede che l'utente sia creato nel database principale. Fare clic su Carica database, quindi selezionare un database.
- Metodo 2 - Manualmente: selezionare Inserisci nome database manualmente, quindi inserire il nome del database.
Proprietà di caricamento dati
È possibile creare automaticamente le credenziali di SQL Server in runtime (l'opzione predefinita) o utilizzare quelle esistenti. Eseguire una delle seguenti operazioni a seconda dei casi:
- Quando la casella di controllo Crea credenziali SQL Server è selezionata (l'opzione predefinita) le credenziali di SQL Server verranno create automaticamente in runtime. Specificare la chiave di accesso nel campo Chiave di accesso.
- Per utilizzare le credenziali esistenti, deselezionare la casella di controllo Crea credenziali SQL Server e specificare il nome delle credenziali di SQL Server nel campo Nome credenziali.
Nome
Il nome visualizzato per la connessione.
Prerequisiti
Autorizzazioni
È necessario concedere sia le autorizzazioni di archiviazione che per il database, come descritto di seguito.
Autorizzazioni di archiviazione
All'utente specificato nel connettore Azure Synapse Analytics devono essere concesse le autorizzazioni di archiviazione seguenti.
- Nel contenitore di archiviazione ADLS Gen2: LIST
- Nella cartella di archiviazione ADLS Gen2: READ, WRITE e DELETE
- Nelle impostazioni di controllo degli accessi (IAM) per il file system ADLS Gen2, assegnare il ruolo "Collaboratore dati BLOB di archiviazione" a gateway di Data Movement (ID app AD). Potrebbero essere necessari alcuni minuti prima che il ruolo abbia effetto.
Autorizzazioni del database
All'utente specificato nel connettore Azure Synapse Analytics devono essere concesse le autorizzazioni seguenti sul database:
-
Autorizzazioni generali
- db_owner ROLE
-
Autorizzazioni tabella:
- SELECT, INSERT, UPDATE e DELETE
- Caricamento bulk
- CREATE, ALTER, DROP (se richiesto dalla definizione dell'attività)
Selezione del database
Per poter selezionare un database (facendo clic su Carica database nella finestra di dialogo del connettore), l'utente specificato nelle impostazioni del connettore deve essere creato nel database principale.
Configurazione del driver
Un driver è necessario solo se si accede al database tramite Gateway di Data Movement. In tale caso, è necessario installare il driver sul computer Gateway di Data Movement.
È possibile installare driver utilizzando l'utilità di installazione dei driver (procedura consigliata) oppure manualmente. Si consiglia di utilizzate l'installazione manuale nel caso improbabile che si riscontrasse un problema con l'utilità di installazione dei driver.
Utilizzo dell'utilità di installazione dei driver per installare il driver
Questa sezione descrive come installare il driver richiesto. Il processo prevede l'esecuzione di uno script che scarica, installa e configura automaticamente il driver richiesto. È inoltre possibile eseguire script per aggiornare e disinstallare il driver secondo le necessità.
Preparazione dell'installazione
-
Assicurarsi che Python 3.6.x o versione successiva sia installato sul server del gateway di Data Movement.
Python è preinstallato nella maggior parte delle distribuzioni Linux. È possibile verificare quale versione di Python è installata sul sistema, eseguendo il seguente comando:
python3 --version
Installazione di driver
Per scaricare e installare driver:
-
Arrestare il servizio gateway di Data Movement:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./install sqlserver
Se non è possibile scaricare driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando install sqlserver.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
-
Digitare "v" e premere [Invio] per visualizzare nuovamente l'EULA.
-
Attendere il completamento dell'installazione (indicato dal messaggio "Operazione completata"), quindi avviare il servizio gateway di Data Movement:
sudo systemctl start repagent
-
Facoltativamente, conferma che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
Il driver verrà installato.
Aggiornamento del driver
Eseguire il comando aggiorna se si desidera disinstallare le versioni precedenti del driver prima di installare il driver fornito.
Per scaricare e aggiornare driver:
-
Arrestare il servizio gateway di Data Movement:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./update sqlserver
Se non si riesce a scaricare il driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando update sqlserver.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
- Digitare "v" e premere [Invio] per rivedere l'EULA dall'inizio.
-
Attendere il completamento dell'installazione (indicato dal messaggio "Operazione completata"), quindi avviare il servizio gateway di Data Movement:
sudo systemctl start repagent
-
Facoltativamente, conferma che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
Il vecchio driver verrà disinstallato e il nuovo driver verrà installato.
Disinstallazione del driver
Eseguire il comando di disinstallazione se si desidera disinstallare il driver.
Per disinstallare il driver:
-
interrompere tutte le attività configurate per utilizzare il connettore.
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./uninstall sqlserver
Il driver verrà disinstallato.
Installazione manuale del driver
Si consiglia di tentare l'installazione manuale di driver nel caso in cui l'installazione automatizzata non venissa completata.
È necessario installare un ODBC e un driver JDBC.
Installazione del driver ODBC
Dopo aver installato Gateway di Data Movement, scaricare il driver msodbcsql<version>.x86_64.rpm. È possibile trovare un collegamento di download diretto alla versione supportata in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Una volta completato il download, copiare il file RPM nel computer Gateway di Data Movement.
Quindi, sul server di Data Movement gateway, aprire un prompt della shell e procedere come segue:
-
Arrestare il servizio Data Movement gateway:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
-
Installare il driver (RPM).
-
Cambiare la directory di lavoro in <product_dir>/bin.
-
Copiare la posizione del driver nel file
site_arep_login.sh
come descritto di seguito:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Questa operazione aggiungerà il driver a "LD_LIBRARY_PATH" e aggiornerà la posizione del driver nel file site_arep_login.sh .
-
Facoltativamente, confermare che la posizione del driver è stata copiata:
cat site_arep_login.sh
-
Avviare il servizio Data Movement gateway:
sudo systemctl start repagent
-
Facoltativamente, confermare che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
-
Data Movement gateway richiede la seguente libreria ODBC: libmsodbcsql-17.6.so.1.1
Per verificare quale versione della libreria è attualmente installata, emettere il seguente comando:
ls /opt/microsoft/msodbcsql<version>/lib64/
Se la libreria esistente ha un altro numero di versione (ad esempio, libmsodbcsql-18.0.so.1.1), è necessario creare un collegamento simbolico tra la libreria esistente e quella richiesta.
Per fare ciò, emettere i seguenti comandi:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1in cui
existing_library_name
è il nome della libreria attualmente installata (ad es. libmsodbcsql-18.0.so.1.1).
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
Installazione del driver JDBC
-
Scaricare il file mssql-jdbc-<version>.jar. È possibile trovare un collegamento di download diretto alla versione supportata in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Una volta completato il download, copiare il file JAR nella cartella seguente nel computer Gateway di Data Movement:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Riavviare il servizio Gateway di Data Movement eseguendo il comando descritto nella sezione Riavviare il servizio
Porte
- Quando gateway di Data Movement viene eseguito su un computer esterno ad Azure - Aprire la porta 1433 per le comunicazioni in uscita.
- Quando gateway di Data Movement viene eseguito su una macchina virtuale di Azure - Aprire le porte seguenti per le comunicazioni in uscita:
- 1433
- 11000-11999
- 14000-14999
Limiti e considerazioni
Quando si utilizza Azure Synapse Analytics come destinazione, è necessario tenere in considerazione le seguenti limitazioni e considerazioni:
-
Le colonne di origine con tipi di dati CHAR/VARCHAR e regole di confronto non latine (ad esempio, "Chinese_PRC_CI_AS") devono essere mappate a NVARCHAR.
-
Gestione di una colonna di origine vuota:
-
Nel caso di spostamento di una colonna binaria di origine (ad esempio, VARBINARY O BLOB) con un valore vuoto, Qlik Talend Data Integration inserisce un NULL nella colonna di destinazione corrispondente.
Nota informaticaI valori vuoti non sono NULL, ma dati con lunghezza pari a zero. -
- Il Spostamento di record superiori a 1 MB non è supportato.
- Il Spostamento di dati con caratteri emoji a 4 byte richiede che il tipo di dati sia una stringa larga (ad esempio, NCHAR/NVARCHAR/NCLOB) nella destinazione.
Tipi di dati
La tabella seguente mostra i tipi di dati Azure Synapse Analytics supportati al momento di utilizzare Qlik Cloud e il mapping predefinito dai tipi di dati Qlik Cloud.
La informazioni relative tipo di dati nativo vengono mantenute e vengono visualizzate nella colonna Tipo di dati nativo nelle visualizzazioni del set di dati. Se la colonna non è visibile, è necessario aprire lo strumento di selezione delle colonne della visualizzazione del set di dati e selezionare la colonna Tipo di dati nativo.
Tipi di dati Qlik Cloud | Tipi di dati Azure Synapse Analytics |
---|---|
BOOLEAN |
BIT |
BYTES |
VARBINARY (lunghezza in Byte) |
DATE |
DATE |
TIME |
TIME |
DATETIME |
DATETIME |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
NUMERIC (precisione, scala) |
REAL4 |
REAL |
REAL8 |
FLOAT |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
VARCHAR (lunghezza in Byte) |
WSTRING |
NVARCHAR (lunghezza in Byte) |
BLOB |
VARBINARY (lunghezza in Byte) |
NCLOB |
NVARCHAR (lunghezza in Byte) |
CLOB |
VARCHAR (lunghezza in Byte) |