Aller au contenu principal

Exécuter des workloads JAR dans des clean rooms Databricks

info

Aperçu

Cette fonctionnalité est en aperçu public.

Cette page explique comment exécuter des charges de travail JAR personnalisées dans une salle blanche. Grâce à la prise en charge des JAR, vous pouvez intégrer du code Java ou Scala compilé dans une salle blanche et l'exécuter sur les données partagées par les collaborateurs, sans qu'aucun collaborateur n'obtienne un accès direct aux données ou au code d'un autre collaborateur.

Vous pouvez utiliser un JAR dans une salle blanche de deux manières :

  • Analyses JAR : exécutez une charge de travail JAR autonome en tant qu'analyse de salle blanche, un peu comme un Notebook. Vous spécifiez une classe principale comme point d'entrée, et tous les collaborateurs approuvent l'analyse avant son exécution.
  • **Fonctions définies par l'utilisateur (UDF) JAR** : Enregistrez une fonction Java ou Scala personnalisée à partir d'un JAR et appelez-la à partir d'un Notebook de salle blanche CREATE TEMPORARY FUNCTION à l'aide de.

Le tableau suivant compare les deux approches :

Compétence

Analyse JAR.

JAR UDF

Ce qu'il exécute

Une charge de travail JAR autonome, enregistrée comme sa propre analyse.

Une fonction d'un JAR, appelée depuis un notebook de la salle blanche

Point d'entrée

Une classe principale que vous spécifiez

Une méthode de gestionnaire à laquelle vous faites référence dans CREATE TEMPORARY FUNCTION

Aperçu à activer

Tâche JAR de Clean Room

UDF JAR de salle blanche

Environnement Serverless

4-scala-preview

Version de l'environnement 4

Comment ça marche

Approuvé comme un Notebook, puis exécuté seul.

S'exécute dans le cadre du notebook qui l'appelle.

Compétence

Analyse JAR.

JAR UDF

Ce qu'il exécute

Une charge de travail JAR autonome, enregistrée comme sa propre analyse.

Une fonction d'un JAR, appelée depuis un notebook de la salle blanche

Point d'entrée

Une classe principale que vous spécifiez

Une méthode de gestionnaire à laquelle vous faites référence dans CREATE TEMPORARY FUNCTION

Aperçu à activer

Tâche JAR de Clean Room

UDF JAR de salle blanche

Environnement Serverless

4-scala-preview

Version de l'environnement 4

Comment ça marche

Approuvé comme un Notebook, puis exécuté seul.

S'exécute dans le cadre du notebook qui l'appelle.

Avant de commencer

  • Il faut créer une nouvelle salle blanche une fois que tous les collaborateurs ont activé l'accès anticipé. La préversion ne s'applique pas aux salles blanches qui ont été créées avant son activation, et la désactivation ultérieure de la préversion n'affecte pas les salles blanches qui utilisent déjà la fonctionnalité.

  • Une salle blanche nouvellement créée peut prendre jusqu'à 24 heures avant de pouvoir exécuter des charges de travail JAR.

  • Le JAR doit être compilé avec Java 17 ou supérieur, ou Scala 2.13 ou supérieur.

  • Le compute serverless est requis. Les analyses JAR s'exécutent sur l'environnement serverless 4-scala-preview. Les UDF JAR nécessitent la version 4 de l'environnement serverless.

Créer et tester votre JAR

  • Il faut créer une nouvelle salle blanche une fois que tous les collaborateurs ont activé l'accès anticipé. La préversion ne s'applique pas aux salles blanches qui ont été créées avant son activation, et la désactivation ultérieure de la préversion n'affecte pas les salles blanches qui utilisent déjà la fonctionnalité.

  • Pour les analyses JAR, consultez la tâche JAR pour les jobs.

  • Pour les UDF JAR, consultez les UDF Scala et Java à l’étendue de la session.

Lorsque le JAR fonctionne comme prévu, upload-le vers un volume Unity Catalog. Vous pouvez créer un volume qui contient uniquement les JAR que vous souhaitez partager. L'intégralité du volume est partagée avec la salle blanche, veuillez donc n'inclure que les fichiers que vous avez l'intention de partager.

Exécuter une analyse JAR

Pour exécuter une analyse JAR dans une salle blanche, procédez comme suit :

  1. upload votre JAR vers un volume Unity Catalog.

  2. Ajoutez le volume à la salle blanche en tant qu'asset de données. Voir Étape 3. Ajouter des assets de données et des notebooks à la salle blanche.

  3. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  4. Cliquez sur le bouton Salles blanches > .

  5. Sélectionnez la salle blanche dans la liste.

  6. Cliquez sur Ajouter une analyse .

  7. Sur la page Ajouter une analyse , sélectionnez Analyse JAR .

  8. Saisissez les détails de l’analyse JAR, notamment la classe principale à utiliser comme point d’entrée et le chemin d’accès au JAR dans le volume partagé.

  9. Cliquez sur **Ajouter un JAR** pour ajouter l'analyse à la salle blanche.

  10. Assurez-vous que tous les collaborateurs ont approuvé l'analyse JAR.

    Les analyses JAR sont approuvées de la même manière que les Notebooks de salle blanche : chaque collaborateur doit examiner l'analyse et ajouter une approbation. Vous pouvez également configurer les règles d’approbation automatique. Voir Approuver un notebook dans une salle blanche et règles d’approbation automatique.

  11. Sélectionnez l'analyse JAR et cliquez sur Exécuter .

  12. Spécifiez les paramètres à passer à la méthode principale.

    Clean Rooms injecte automatiquement des paramètres de contexte supplémentaires au format --<key> <value>, similaires aux paramètres qui sont passés aux notebooks Clean Rooms. Consulter les paramètres de Notebook.

Utilisez une UDF JAR dans un notebook

Pour utiliser une UDF JAR dans un Notebook de salle blanche, procédez comme suit :

  1. upload votre JAR vers un volume Unity Catalog.

  2. Ajoutez le volume à la salle blanche en tant qu'asset de données. Voir Étape 3. Ajouter des assets de données et des notebooks à la salle blanche.

  3. Dans un Notebook de salle blanche, utilisez CREATE TEMPORARY FUNCTION pour enregistrer une fonction prise en charge par le JAR partagé, puis appelez-la comme n'importe quelle autre fonction.

    Utilisez LANGUAGE JAVA pour un JAR Java ou LANGUAGE SCALA pour un JAR Scala. ENVIRONMENT_VERSION doit être 4. Dans le chemin DEPENDENCIES, utilisez l'alias du catalogue de salle blanche qui a été attribué lors de la création de la salle blanche, et non le nom du catalogue d'origine.

    L'exemple suivant enregistre une fonction de normalisation d'e-mail à partir d'un JAR :

    SQL
    CREATE TEMPORARY FUNCTION normalize_email(email STRING)
    RETURNS STRING
    LANGUAGE JAVA
    ENVIRONMENT (
    DEPENDENCIES = '["/Volumes/<catalog-alias>/<schema>/<volume>/<path>/<file-name>.jar"]',
    ENVIRONMENT_VERSION = 4
    )
    HANDLER "com.mycompany.utils.EmailNormalizer.normalize"

    Ensuite, appelez la fonction dans une query :

    SQL
    SELECT email_address, normalize_email(email_address) AS normalized_email
    FROM my_table
  4. Ajoutez le Notebook à la salle blanche, faites-le approuver par les collaborateurs, puis exécutez-le. Consultez Exécuter des notebooks dans des salles blanches.

Limitations