Databricks
È possibile utilizzare Databricks come piattaforma dati per trasferire e archiviare i set di dati in Integrazione dati Qlik Cloud.
-
È necessario attivare l'opzioneAbilita SSL.
-
Versioni supportate e distribuzioni:
- Databricks Solo 10.4
-
Cluster di SQL Warehouse
Per ulteriori informazioni sulla connessione a Databricks, vedere Creazione di una connessione Databricks (solo in lingua inglese) .
Serve anche un'area di gestione temporanea del cloud in cui i dati e le modifiche vengono archiviati temporaneamente prima di essere applicati e archiviati. È possibile utilizzare le seguenti piattaforme di archiviazione:
-
Amazon S3 (solo in lingua inglese)
-
Azure Data Lake Storage
Connessione a Azure Data Lake Storage come area di gestione temporanea cloud
-
Google Cloud Storage (solo in lingua inglese)
Autorizzazioni generali
- L'ora sulla macchina server Data Movement gatewaydeve essere precisa.
- Autorizzazioni tabella Databricks: Data Movement gateway richiede autorizzazioni per eseguire le seguenti operazioni sulle tabelle Databricks: tabella CREATE, DROP, TRUNCATE, DESCRIBE e ALTER.
- Nelle impostazioni di controllo degli accessi (IAM) per il file system ADLS Gen2, assegnare il ruolo "Collaboratore dati BLOB di archiviazione" a Data Movement gateway (ID app AD). Potrebbero essere necessari alcuni minuti prima che il ruolo abbia effetto.
- Per consentire a Data Movement gateway di connettersi a un cluster Databricks tramite ODBC, è necessario concedere agli utenti l'autorizzazione "Can Attach To" nel proprio account Databricks.
- Per accedere a Databricks è necessario un token di sicurezza valido. Il token deve essere specificato durante la configurazione dei campi Accesso ODBC a Databricks nelle impostazioni dell'endpoint.
-
Quando si configura un nuovo cluster con Microsoft Azure Data Lake Storage (ADLS) Gen2, è necessario aggiungere la riga seguente alla sezione "Spark Config".
spark.hadoop.hive.server2.enable.doAs false
-
Per poter accedere alle directory di archiviazione dal cluster Databricks, gli utenti devono aggiungere una configurazione (in Spark Config) per quell'account di archiviazione e la relativa chiave.
Esempio:
fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>
Per i dettagli, fare riferimento alla guida in linea di Databricks all'indirizzo: https://docs.databricks.com/clusters/configure.html#spark-configuration
-
La procedura consigliata è di non utilizzare la posizione radice (/Usr/Hive/Warehouse/) per il database Databricks poiché ciò potrebbe influire sulle prestazioni.
Accesso all'archiviazione
Il calcolo SQL di Databricks deve essere configurato per accedere all'archiviazione cloud. Per istruzioni, vedere la guida in linea del fornitore.
Connessione a Azure Data Lake Storage come area di gestione temporanea cloud
È possibile usare Azure Data Lake Storage Gen2 come area di gestione temporanea cloud quando si usa Databricks come piattaforma dati in Integrazione dati Qlik Cloud. L'area di gestione temporanea del cloud è il luogo in cui i dati e le modifiche vengono organizzati prima di essere applicati e archiviati.
È necessario connettersi all'area di gestione temporanea del cloud di Azure Data Lake Storage durante la creazione del progetto dati. Sono necessarie le seguenti impostazioni:
-
Account di archiviazione
Nome dell'account di archiviazione.
-
Nome del contenitore
Nome del contenitore da utilizzare come area di gestione temporanea del cloud.
-
ID tenant di Azure Active Directory
ID tenant della sottoscrizione in Azure Active Directory.
-
ID client di registrazione dell'applicazione Azure
ID client dell'applicazione in Azure Active Directory.
-
ID client di registrazione dell'applicazione Azure
Segreto dell'applicazione in Azure Active Directory
-
Chiave di accesso
Chiave di accesso all'account di archiviazione.
È possibile anche scegliere di creare automaticamente le credenziali di SQL Server.
Prerequisiti Qlik Data Gateway - Movimento dati
è necessario soddisfare i seguenti prerequisiti sul computer gateway di Data Movement.
Configurazione del driver
È 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 Movimento dati.
Python è preinstallato nella maggior parte delle distribuzioni Linux. È possibile verificare quale versione di Python è installata sul sistema, eseguendo il seguente comando:
python --version
Installazione di driver
Per scaricare e installare driver:
-
Sul computer gateway Movimento dati, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./install databricks
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 Movimento dati. Una volta completata l'operazione, eseguire nuovamente il comando install databricks.
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.
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:
-
Sul computer gateway Movimento dati, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./update databricks
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 Movimento dati. Una volta completata l'operazione, eseguire nuovamente il comando install databricks.
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.
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:
-
Se il gateway Movimento dati viene utilizzato per trasferire dati, interrompere tutte le attività di trasferimento. Se un gateway Movimento dati differente viene utilizzato per eseguire processi ELT sulla destinazione, interrompere tutte le relative attività (trasformazioni, archiviazione, registrazione di dati e data mart). Se un singolo gateway Movimento dati viene utilizzato per trasferire dati ed eseguire attività ELT sulla destinazione, interrompere tutte le suddette attività.
-
Sul computer gateway Movimento dati, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./uninstall databricks
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.
Scaricare Simba Spark ODBC Driver 2.6.22.
-
Arrestare il servizio Data Movement gateway:
sudo service repagent stop
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo service repagent status
-
Installare il driver sulla macchina Data Movement gateway.
-
Una volta installato, assicurarsi che la seguente sezione appaia nel file /etc/odbcinst.ini:
-
Avviare il servizio Data Movement gateway:
sudo service repagent start
-
Facoltativamente, confermare che il servizio si è avviato:
sudo service repagent status
L'output dovrebbe essere il seguente:
running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host
L'output dovrebbe essere il seguente:
not running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host
[Driver ODBC di Simba Spark] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
Porta
La porta 443 del firewall deve essere aperta per la comunicazione in uscita.
Tipi di dati
La tabella seguente mostra i tipi di dati Databricks supportati al momento di utilizzare Qlik Cloud e il mapping predefinito dai tipi di dati Qlik Cloud.
Tipi di dati Qlik Cloud | Tipi di dati Databricks |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
STRING |
DATE |
DATE |
TIME |
STRING |
DATETIME |
TIMESTAMP |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
DECIMAL (precisione, scala) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE |
UINT1 |
SMALLINT |
UINT2 |
INT |
UINT4 |
BIGINT |
UINT8 |
DECIMAL (20, 0) |
STRING |
VARCHAR (lunghezza in Byte) |
WSTRING |
VARCHAR (lunghezza in Byte) |
BLOB |
STRING |
NCLOB |
STRING |
CLOB |
STRING |
Limitazioni
-
Quando si utilizza Databricks su AWS con tabelle senza una chiave primaria, il ricaricamento delle tabelle nel trasferimento avrà esito negativo nell'app di archiviazione. Per risolvere questo problema, è possibile:
-
Definire una chiave primaria nelle tabelle.
-
Impostare spark.databricks.delta.alterTable.rename.enabledOnAWS su True in Databricks.
-