Accéder au contenu principal Passer au contenu complémentaire

Databricks

Vous pouvez utiliser Databricks comme plate-forme de données cible dans un pipeline de données. Dans un pipeline de données, il est possible d'effectuer différentes opérations sur la plate-forme cible, notamment le dépôt temporaire de données, le stockage de données, la transformation de données, la création de mini-data warehouses et l'enregistrement de données..

Cela implique le respect des conditions suivantes :

Note InformationsPrise en charge avec les clusters SQL Warehouse uniquement

Configuration d'une zone intermédiaire cloud

Lors de l'utilisation du connecteur cible Databricks, vous avez également besoin de définir une zone intermédiaire cloud dans laquelle placer temporairement les données et modifications avant de les appliquer et de les stocker. Les plate-formes de stockage suivantes sont prises en charge :

Note InformationsSi vous enregistrez des données existantes, il n'est pas nécessaire de configurer une zone intermédiaire cloud.

Configuration d'une connexion à Databricks

Sélectionnez le connecteur cible Databricks et configurez les paramètres suivants.

Cible de données

Passerelle de données : Une Data Movement gateway est nécessaire uniquement si la base de données cible n'est pas accessible depuis Qlik Cloud et est accessible uniquement via un lien privé (par exemple, si elle est située dans un cloud privé virtuel). Si c'est le cas, sélectionnez la Data Movement gateway via laquelle vous souhaitez accéder à la base de données cible.

Suivant votre cas d'utilisation, il s'agira soit de la même Data Movement gateway déployée pour déposer temporairement des données provenant de la source de données, soit d'une autre. Pour des informations sur les possibilités de déploiement de Data Movement gateway possibles, voir Cas d'utilisation courants.

Note InformationsNécessite Data Movement gateway 2023.5.10 ou une version ultérieure.

Si la base de données cible est directement accessible depuis Qlik Cloud, sélectionnez Aucune.

Note InformationsLors de l'accès à la base de données cible via Data Movement gateway, vous devez également installer le pilote approprié sur le poste Data Movement gateway. Pour des informations détaillées, voir la section Configuration du pilote ci-dessous.

Propriétés de connexion

  • Host : nom d'hôte de l'espace de travail Databricks.
  • Port : port via lequel accéder à l'espace de travail.
  • HTTP Path : chemin d'accès au cluster en cours d'utilisation.
  • Token : votre jeton personnel pour accéder à l'espace de travail.

Propriétés du catalogue

Cliquez sur Charger les catalogues pour charger les catalogues disponibles, puis sélectionnez un Catalogue. Si la configuration de votre environnement ne comporte aucun catalogue, sélectionnez hive_metastore, qui est le catalogue par défaut.

Note Informations

Vous devez autoriser Data Movement gateway à accéder aux tables externes (non gérées) en définissant un emplacement externe dans Databricks. Pour des consignes, voir :

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

Propriétés internes

Les propriétés internes s'adressent à des cas d'utilisation spéciaux et ne sont par conséquent pas exposées dans la boîte de dialogue. Utilisez-les uniquement si Qlik Support vous le demande.

Utilisez les boutons Créer nouveau et Annuler à droite des champs pour ajouter ou supprimer des propriétés, suivant les besoins.

Nom

Nom d'affichage de la connexion.

Conditions préalables requises

Autorisations générales

  • L'heure sur la machine serveur Qlik Cloud Data Integration doit être exacte.
  • Autorisations de table Databricks : Data Movement gateway exige des autorisations pour effectuer les opérations suivantes dans les tables : table CREATE, DROP, TRUNCATE, DESCRIBE, et ALTER.
  • Dans les paramètres du contrôle d'accès (IAM) pour le système de fichiers ADLS Gen2, attribuez le rôle "Contributeur de données du blob de stockage" à Data Movement gateway (ID d'application AD). L'application de ce rôle peut demander quelques minutes.
  • Pour permettre à Data Movement gateway de se connecter à un cluster via ODBC, les utilisateurs doivent avoir l'autorisation « Peut joindre à » dans leur compte Databricks.
  • L'accès à Databricks demande un jeton de sécurité valide. Il doit être indiqué lors de la configuration des zones d'accès ODBC Databricks dans les paramètres du point de terminaison.
  • Lors de la configuration d'un nouveau cluster avec Microsoft Azure Data Lake Storage (ADLS) Gen2, la ligne suivante doit être ajoutée à la section « Spark Config ».

    spark.hadoop.hive.server2.enable.doAs false

  • Pour pouvoir accéder aux répertoires du stockage depuis le cluster Databricks, les utilisateurs doivent ajouter une configuration (dans Spark Config) pour ce compte de stockage et sa clé.

     

    fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>

    Pour obtenir des détails, reportez-vous à l'aide en ligne de Databricks à l'adresse : https://docs.databricks.com/clusters/configure.html#spark-configuration

  • La meilleure pratique consiste à ne pas utiliser l'emplacement racine (/Usr/Hive/Warehouse/) pour la base de données Databricks afin d'éviter tout impact sur les performances.

Autorisation d'accès au stockage

Le calcul SQL Databricks doit être configuré de sorte à pouvoir accéder au stockage cloud. Pour des instructions, voir l'aide en ligne du fournisseur.

Configuration du pilote

Un pilote est obligatoire uniquement si vous accédez à la base de données via Data Movement gateway. Dans ce cas, vous devez installer le pilote sur le poste Data Movement gateway.

Vous pouvez installer le driver via l'utilitaire d'installation de pilote (recommandé) ou manuellement. Tentez une installation manuelle uniquement dans le cas improbable où vous rencontriez un problème avec l'utilitaire d'installation de pilote.

Utilisation de l'utilitaire d'installation de pilote pour installer le pilote

Cette section explique comment installer le driver requis. Le processus implique l'exécution d'un script qui téléchargera, installera et configurera automatiquement le driver requis. Vous pouvez également exécuter des scripts permettant de mettre à jour et de désinstaller le driver, si nécessaire.

  • Assurez-vous que Python 3.6 ou une version ultérieure est installé sur le serveur de passerelle Déplacement des données.

    Python est préinstallé sur la plupart des distributions Linux. Vous pouvez vérifier la version de Python installée sur votre système en exécutant la commande suivante :

    python3 --version

Pour télécharger et installer le driver :

  1. Arrêtez le service Data Movement gateway :

    sudo systemctl stop repagent

  2. Confirmez éventuellement l'arrêt du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: inactive (dead) since <timestamp> ago

  3. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  4. Exécutez la commande suivante :

    Syntaxe :

    ./install databricks

    Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driver sur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande install databricks.

    Sinon, le CLUF du driver apparaîtra.

  5. Procédez de l'une des manières suivantes :

    • Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
    • Appuyez à plusieurs reprises sur la barre d'espacement pour parcourir rapidement le CLUF.
    • Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
  6. Procédez de l'une des manières suivantes :

    • Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
    • Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
    • Saisissez « v » et appuyez sur [Entrée] pour afficher de nouveau le CLUF.

  7. Le driver sera installé.

  8. Attendez la fin de l'installation (indiquée par « Complete! »), puis démarrez le service Data Movement gateway :

    sudo systemctl start repagent

  9. Confirmez éventuellement le lancement du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: active (running) since <timestamp> ago

Exécutez la commande update si vous souhaitez désinstaller des versions précédentes du driver avant d'installer le driver fourni.

Pour télécharger et mettre à jour le driver :

  1. Arrêtez le service Data Movement gateway :

    sudo systemctl stop repagent

  2. Confirmez éventuellement l'arrêt du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: inactive (dead) since <timestamp> ago

  3. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  4. Exécutez la commande suivante :

    Syntaxe :

    ./update databricks

    Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driversur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande update databricks.

    Sinon, le CLUF du driver apparaîtra.

  5. Procédez de l'une des manières suivantes :

    • Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
    • Appuyez à plusieurs reprises sur la barre d'espacement pour parcourir rapidement le CLUF.
    • Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
  6. Procédez de l'une des manières suivantes :

    • Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
    • Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
    • Saisissez « v » et appuyez sur [Entrée] pour passer le CLUF en revue depuis le début.
  7. L'ancien driver sera désinstallé et le nouveau driver sera installé.

  8. Attendez la fin de l'installation (indiquée par « Complete! »), puis démarrez le service Data Movement gateway :

    sudo systemctl start repagent

  9. Confirmez éventuellement le lancement du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: active (running) since <timestamp> ago

Exécutez la commande uninstall si vous souhaitez désinstaller le driver.

Pour désinstaller le driver :

  1. Arrêtez toutes les tâches configurées pour utiliser ce connecteur.

  2. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  3. Exécutez la commande suivante :

    Syntaxe :

    ./uninstall databricks

    le driver sera désinstallé.

Installation manuelle du pilote

Vous devez tenter d'installer manuellement le driver uniquement si l'installation de pilote automatisée n'a pas fonctionné.

Une fois la Data Movement gateway installée, téléchargez le fichier SimbaSparkODBC-<version>-LinuxRPM-64bit.zip. Vous trouverez un lien de téléchargement direct vers la version prise en charge sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Une fois le téléchargement terminé, copiez le fichier sur le poste Data Movement gateway.

  1. Arrêtez le service Data Movement gateway :

    sudo systemctl stop repagent

  2. Confirmez éventuellement l'arrêt du service :

    sudo systemctl status repagent

  3. Le statut doit être comme suit :

    Active: inactive (dead) since <timestamp> ago

  4. Installez le pilote sur le poste Data Movement gateway.

  5. Une fois l'installation terminée, vérifiez que la section suivante apparaît dans le fichier /etc/odbcinst.ini :

  6.  [Pilote ODBC Simba Spark] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Démarrez le service Data Movement gateway :

    sudo systemctl start repagent

  8. Confirmez éventuellement le lancement du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: active (running) since <timestamp> ago

  1. Téléchargez le fichier databricks-jdbc-<version>.jar. Vous trouverez un lien de téléchargement direct vers la version prise en charge sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Une fois le téléchargement terminé, copiez le fichier JAR dans le dossier suivant sur le poste Data Movement gateway :

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

  2. Redémarrez le service Data Movement gateway et vérifiez qu'il a effectivement démarré en exécutant les commandes décrites à la section Commandes du service Data Movement gateway.

Port

Le port du pare-feu 443 doit être ouvert pour la communication sortante.

Types de données

Le tableau suivant indique les types de données Databricks pris en charge lors de l'utilisation de Qlik Cloud et le mappage par défaut depuis les types de données Qlik Cloud.

Les informations de type de données natif sont préservées et affichées dans la colonne Type de données natif des vues d'ensemble de données. Si la colonne n'est pas visible, vous devez ouvrir le sélecteur de colonnes de la vue d'ensemble de données et sélectionner la colonne Type de données natif.

Types de données pris en charge
Types de données Qlik Cloud Types de données Databricks

BOOLEAN

BOOLEAN

BYTES

STRING

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

INT1

TINYINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

DECIMAL (précision, échelle)

REAL4

FLOAT

REAL8

DOUBLE

UINT1

SMALLINT

UINT2

INT

UINT4

BIGINT

UINT8

DECIMAL (20, 0)

STRING

VARCHAR (length in Bytes)

WSTRING

VARCHAR (length in Bytes)

BLOB

STRING

NCLOB

STRING

CLOB

STRING

Les types de données suivants sont convertis en STRING(255) :

  • MAP

  • ARRAY

  • STRUCT

Limitations et considérations générales

  • Lors de l'utilisation de Databricks sur AWS avec des tables sans clé primaire, le chargement des tables dans le dépôt temporaire échoue dans l'application Storage. Pour résoudre ce problème, procédez de l'une des manières suivantes :

    • Définissez une clé primaire dans les tables.

    • Définissez spark.databricks.delta.alterTable.rename.enabledOnAWS sur True dans Databricks.

    • Lors de la création d'une transformation basée sur SQL, tous les champs VARCHAR sont renvoyés sous forme de STRING(255).

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !