Databricks | Guida di Qlik Cloud
Vai al contenuto principale Passa a contenuto complementare

Databricks

È possibile utilizzare Databricks come piattaforma dati di destinazione in una pipeline di dati o in un'attività di replica. 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. Un'attività di replica, d'altra parte, include la replica dei dati direttamente da un sistema di origine a un sistema di destinazione con funzionalità di trasformazione di base, ma senza il supporto delle operazioni ELT.

L'impostazione di Databricks come destinazione comporta:

Nota informaticaSupportato solo con cluster SQL Warehouse

Impostazione di un'area di staging cloud

Quando si utilizza il connettore di destinazione Databricks, è inoltre necessario definire un'area di staging cloud in cui i dati e le modifiche vengono preparati prima di essere applicati e archiviati. Sono supportate le seguenti piattaforme di archiviazione:

Nota informaticaSe si stanno registrando dati esistenti, non è necessario impostare un'area di staging cloud.

Configurazione di una connessione a Databricks

Una volta fornite le impostazioni di staging, procedere come segue:

  1. In Connessioni, fare clic su Crea connessione.

  2. Selezionare il connettore di destinazione Databricks e fornire le seguenti impostazioni:

Destinazione dati

Gateway dati

Nota informaticaQuesto campo non è disponibile con la sottoscrizione Avvio Qlik Talend Cloud, poiché il Gateway Data Movement non è supportato con i livelli di sottoscrizione.

È richiesto un Gateway 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 Data Movement che si desidera utilizzare per accedere al database di destinazione.

A seconda del caso di utilizzo, questo sarà lo stesso Gateway Data Movement distribuito per spostare i dati da una sorgente dati, oppure uno differente.

Per informazioni sui casi di utilizzo del Gateway Data Movement, vedere Quando è richiesto il Gateway Data Movement? e Casi di utilizzo comuni.

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

Nota informaticaQuando si accede al database di destinazione tramite Gateway Data Movement, è inoltre necessario installare il driver appropriato sulla macchina Gateway Data Movement. Per i dettagli, vedere Configurazione del driver di seguito.

Proprietà di connessione

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

Autenticazione

  • Metodo di autenticazione - Selezionare uno dei seguenti:

    • OAuth: Fornire le seguenti informazioni: 

      Nota informatica

      Prerequisiti per l'autenticazione OAuth:

      • Assicurarsi che il database Databricks sia configurato per utilizzare OAuth. Per istruzioni, consultare la guida online del fornitore.
      • Se si utilizza Gateway Data Movement per accedere al database, è richiesto Gateway Data Movement 2024.11.30 o versioni successive.
      • ID client: L'ID client dell'applicazione.

      • Segreto client: Il segreto client dell'applicazione. Si noti che se si modifica la connessione, il segreto client verrà rimosso per sicurezza e sarà necessario reinserirlo.

    • Token di accesso personale: Nel campo Token, inserire 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 alcun catalogo, selezionare hive_metastore, che è il catalogo predefinito.

Nota informatica

È necessario consentire all'attività dati di accedere a 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 sono destinate a casi d'uso speciali e pertanto non sono esposte nella finestra di dialogo. Devono essere utilizzate solo se indicato dal supporto Qlik.

Utilizzare i pulsanti Crea nuovo e Annulla a destra dei campi per aggiungere o rimuovere proprietà in base alle necessità.

Nome

Il nome visualizzato per la connessione.

Prerequisiti

Autorizzazioni generali

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

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

Configurazione del driver

Un driver è richiesto solo se si accede al database tramite Gateway Data Movement. In tal caso, è necessario installare il driver sulla macchina Gateway 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 del 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 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

Per scaricare e installare driver:

  1. Arresta il servizio di 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 Data Movement, 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 Data Movement. 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, confermare 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. Arresta il servizio di 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 Data Movement, 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 Data Movement. 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, confermare 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 Data Movement, 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.

Dopo aver installato Gateway Data Movement, eseguire il download del file SimbaSparkODBC-<version>-LinuxRPM-64bit.zip. È possibile trovare un link per il 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 sulla macchina Gateway Data Movement.

  1. Arrestare il servizio gateway di Data Movement:

    sudo systemctl stop repagent

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

    sudo systemctl status repagent

  3. Lo stato dovrebbe essere il seguente:

    Active: inactive (dead) since <timestamp> ago

  4. Installare il driver sulla macchina gateway di Data Movement.

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

  6. [Databricks ODBC Driver]
    Driver=/opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  7. Avviare il servizio gateway di Data Movement:

    sudo systemctl start repagent

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

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: active (running) since <timestamp> ago

  1. Eseguire il download del file databricks-jdbc-<version>.jar . È possibile trovare un link per il 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 seguente cartella sulla macchina Gateway Data Movement:

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

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

Porta

La porta 443 del firewall deve essere aperta per la comunicazione in uscita.

Tipi di dati

La seguente tabella mostra i tipi di dati Databricks supportati quando si utilizza Qlik Cloud e la mappatura predefinita 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

VARCHAR (Lunghezza in byte)

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

La precisione è sempre 6, anche se la colonna di input utilizza una precisione inferiore a 6.

Se la colonna di input utilizza una precisione superiore a 6, è possibile preservare l'intera precisione, valutando la conversione della colonna in un altro tipo supportato, come STRING.

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)

Quando la colonna ha un sottotipo JSON e la versione di Databricks Runtime è 15.4 LTS o successiva, allora: VARIANT

WSTRING

VARCHAR (Lunghezza in byte)

Quando la colonna ha un sottotipo JSON e la versione di Databricks Runtime è 15.4 LTS o successiva, allora: VARIANT

NCLOB

STRING

Quando la colonna ha un sottotipo JSON e la versione di Databricks Runtime è 15.4 LTS o successiva, allora: VARIANT

CLOB

STRING

Quando la colonna ha un sottotipo JSON e la versione di Databricks Runtime è 15.4 LTS o successiva, allora: VARIANT

BLOB

STRING

JSON

VARIANT

Nota informaticaIl tipo di dati VARIANT è supportato come Anteprima pubblica in Databricks.

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

  • MAP

  • ARRAY

  • STRUCT

Limitazioni e considerazioni

  • Quando si utilizza Databricks su AWS con tabelle senza una chiave primaria, il ricaricamento delle tabelle nel trasferimento non riuscirà nell'app Storage. Per risolvere questo problema è possibile

    • Definire una chiave primaria nelle tabelle.

    • Impostare spark.databricks.delta.alterTable.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 – ti pregiamo di farcelo sapere!