Vai al contenuto principale Passa a contenuto complementare

Databricks

È possibile utilizzare Databricks come piattaforma dati di destinazione in una pipeline di dati. In una pipeline di dati, è possibile eseguire diverse operazioni nella piattaforma di destinazione, tra cui trasferire i dati, archiviarli, trasformarli, creare data mart e registrare i dati.

Ciò implica quanto segue:

Nota informaticaSupportata solo con cluster SQL Warehouse

Configurazione di un'area di staging cloud

Quando si utilizza un connettore Databricks Target, è anche necessario definire un'area di staging cloud in cui i dati e le modifiche sono approntati prima di essere applicati e archiviati. Sono supportate le seguenti piattaforme di archiviazione:

Nota informaticaSe si desidera registrare dati esistenti, non è necessario configurare un'area di staging cloud.

Configurazione di una connessione a Databricks

Selezionare il connettore Databricks Target e configurare le impostazioni descritte di seguito.

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 trasferire i dati da una sorgente dati, oppure uno differente. Per informazioni sulle differenti possibilità di distribuzione del Gateway di Data Movement vedere Casi di utilizzo comuni.

Nota informaticaRichiede Gateway di Data Movement 2023.5.10 o versione successiva.

Se il database di destinazione è accessibile direttamente da Qlik Cloud, selezionare Nessuno.

Nota informaticaQuando si accede al database di destinaezione tramite Gateway di Data Movement, è necessario anche installare il driver appropriato sul computer Gateway di Data Movement. Per dettagli, vedere Configurazione del driver qui sotto.

Proprietà di connessione

  • Host: il nome host dell'area di lavoro di Databricks.
  • Porta: la porta tramite cui accedere all'area di lavoro.
  • Percorso HTTP: il percorso al cluster in uso.
  • Token: il token personale per accedere all'area di lavoro.

Proprietà del catalogo

Fare clic su Carica cataloghi per caricare i cataloghi disponibili, quindi selezionare un Catalogo. Se l'ambiente non è configurato con nessun catalogo, selezionare hive_metastore, che è il catalogo predefinito.

Nota informatica

È necessario consentire a Gateway di Data Movement di accedere alle tabelle esterne (non gestite) definendo una posizione esterna in Databricks. Per le linee guida, vedere:

https://docs.databricks.com/data-governance/unity-catalog/manage-external-locations-and-credentials.html#manage-permissions-for-an-external-location

Proprietà interne

Le proprietà interne servono per casi d'uso speciali e pertanto non vengono visualizzate nella finestra di dialogo. Gli utenti devono utilizzarle solo se indicato dal Supporto di Qlik.

Usare i pulsanti Crea nuovo e Annulla a destra del campo per aggiungere o rimuovere proprietà in base alle esigenze.

Nome

Il nome visualizzato per la connessione.

Prerequisiti

Autorizzazioni generali

  • L'ora sulla macchina server Qlik Cloud Data Integrationdeve essere precisa.
  • Autorizzazioni tabella Databricks: gateway di Data Movement 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 gateway di Data Movement (ID app AD). Potrebbero essere necessari alcuni minuti prima che il ruolo abbia effetto.
  • Per consentire a gateway di Data Movement 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.

Autorizzazione di accesso archiviazione

Il calcolo SQL di Databricks deve essere configurato per accedere all'archiviazione cloud. Per istruzioni, vedere la guida in linea del fornitore.

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à.

  • Assicurarsi che Python 3.6.x o versione successiva sia installato sul server del gateway di Spostamento dati.

    Python è preinstallato nella maggior parte delle distribuzioni Linux. È possibile verificare quale versione di Python è installata sul sistema, eseguendo il seguente comando:

    python3 --version

Per scaricare e installare driver:

  1. Arrestare il servizio gateway di Data Movement:

    sudo systemctl stop repagent

  2. Facoltativamente, confermare che il servizio è stato interrotto:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: inactive (dead) since <timestamp> ago

  3. Sul computer gateway Spostamento dati, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  4. 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 Spostamento dati. Una volta completata l'operazione, eseguire nuovamente il comando install databricks.

    Altrimenti, verrà visualizzato l'EULA del driver.

  5. 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.
  6. 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.

  7. Il driver verrà installato.

  8. Attendere il completamento dell'installazione (indicato dal messaggio "Operazione completata"), quindi avviare il servizio gateway di Data Movement:

    sudo systemctl start repagent

  9. Facoltativamente, conferma che il servizio si è avviato:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: active (running) since <timestamp> ago

Eseguire il comando aggiorna se si desidera disinstallare le versioni precedenti del driver prima di installare il driver fornito.

Per scaricare e aggiornare driver:

  1. Arrestare il servizio gateway di Data Movement:

    sudo systemctl stop repagent

  2. Facoltativamente, confermare che il servizio è stato interrotto:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: inactive (dead) since <timestamp> ago

  3. Sul computer gateway Spostamento dati, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  4. 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 Spostamento dati. Una volta completata l'operazione, eseguire nuovamente il comando update databricks.

    Altrimenti, verrà visualizzato l'EULA del driver.

  5. 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.
  6. 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.
  7. Il vecchio driver verrà disinstallato e il nuovo driver verrà installato.

  8. Attendere il completamento dell'installazione (indicato dal messaggio "Operazione completata"), quindi avviare il servizio gateway di Data Movement:

    sudo systemctl start repagent

  9. Facoltativamente, conferma che il servizio si è avviato:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: active (running) since <timestamp> ago

Eseguire il comando di disinstallazione se si desidera disinstallare il driver.

Per disinstallare il driver:

  1. interrompere tutte le attività configurate per utilizzare il connettore.

  2. Sul computer gateway Spostamento dati, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  3. 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.

Una volta installato Gateway di Data Movement, scaricare il file SimbaSparkODBC-<version>-LinuxRPM-64bit.zip. È possibile trovare un collegamento di download diretto alla versione supportata in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Una volta completato il download, copiare il file nel computer Gateway di Data Movement.

  1. Arrestare il servizio gateway di Data Movement:

    sudo systemctl stop repagent

  2. Facoltativamente, confermare che il servizio è stato interrotto:

    sudo systemctl status repagent

  3. Lo stato dovrebbe essere il seguente:

    Active: inactive (dead) since <timestamp> ago

  4. Installare il driver sul computer gateway di Data Movement.

  5. Una volta installato, assicurarsi che la seguente sezione appaia nel file /etc/odbcinst.ini:

  6.  [Driver ODBC di Simba Spark] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Avviare il servizio gateway di Data Movement:

    sudo systemctl start repagent

  8. Facoltativamente, confermare che il servizio si è avviato:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: active (running) since <timestamp> ago

  1. Scaricare il file databricks-jdbc-<version>.jar. È possibile trovare un collegamento di download diretto alla versione supportata in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/databricks.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

  2. Riavviare il servizio Gateway di Data Movement e verificare che sia stato avviato eseguendo i comandi descritti nella sezione Comandi di servizio del Gateway di Data Movement

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.

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 supportati
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

I seguenti tipi di dati vengono convertiti in STRING (255):

  • MAP

  • ARRAY

  • STRUCT

Limiti e considerazioni

  • 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.altertabella.rename.enabledOnAWS su True in Databricks.

    • Quando si crea una trasformazione basata su SQL, tutti i campi VARCHAR vengono restituiti come STRING(255).

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!