Configurer le répertoire staging du système de fichiers Databricks (DBFS) - Cloud

Guide d'utilisation de Talend Cloud Management Console for Pipelines

author
Talend Documentation Team
EnrichVersion
Cloud
EnrichProdName
Talend Cloud
task
Administration et monitoring > Gestion des projets
Administration et monitoring > Gestion des utilisateurs
Déploiement > Déploiement > Exécution de Tâches
Déploiement > Ordonnancement > Ordonnancement de Tâches
EnrichPlatform
Talend Management Console

Certaines ressources DBFS doivent être créées à l'aide de l'API REST Databricks pour que votre futur cluster soit compatible avec Talend Cloud Pipeline Designer.

Procédure

  1. Suivez la documentation Databricks concernant la configuration de l'authentification des API REST pour AWS ou pour Azure.
  2. Vérifiez que vous pouvez parcourir le système de fichiers Databricks à l'aide de l'API REST https://docs.databricks.com/dev-tools/api/latest/dbfs.html.
  3. Créer le répertoire staging racine :
    curl -n -H 'Authorization:Bearer MY_TOKEN' -d '{"path" : "/DBFS_STAGING_DIRECTORY_NAME"}' "https://<account>.cloud.databricks.com/api/2.0/dbfs/mkdirs"

    DBFS_STAGING_DIRECTORY_NAME correspond au nom de votre nouveau répertoire staging DBFS et <account> correspond au nom de votre compte Databricks.

  4. Créez le répertoire Init Scripts :
    curl -n -H 'Authorization:Bearer MY_TOKEN' -d '{"path" : "/DBFS_STAGING_DIRECTORY_NAME/scripts"}' "https://<account>.cloud.databricks.com/api/2.0/dbfs/mkdirs"
  5. Copiez le contenu suivant dans un fichier et sauvegardez-le sur votre machine locale :
    #!/bin/bash
    
    #
    # Talend patches for Databricks spark 2.4.X
    #
    
    # Pin everything from com.fasterxml.jackson to 2.9.4
    rm /databricks/jars/spark--maven-trees--spark_2.4--com.fasterxml.jackson.core--jackson-core--com.fasterxml.jackson.core__jackson-core__2.6.7.jar
    wget --quiet -O /databricks/jars/jackson-core-2.9.4.jar https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.4/jackson-core-2.9.4.jar
    
    rm /databricks/jars/spark--maven-trees--spark_2.4--com.fasterxml.jackson.core--jackson-databind--com.fasterxml.jackson.core__jackson-databind__2.6.7.1.jar
    wget --quiet -O /databricks/jars/jackson-databind-2.9.4.jar http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.4/jackson-databind-2.9.4.jar
    
    rm /databricks/jars/spark--maven-trees--spark_2.4--com.fasterxml.jackson.core--jackson-annotations--com.fasterxml.jackson.core__jackson-annotations__2.6.7.jar
    wget --quiet -O /databricks/jars/jackson-annotations-2.9.4.jar http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.4/jackson-annotations-2.9.4.jar
    
    rm /databricks/jars/spark--maven-trees--spark_2.4--com.fasterxml.jackson.module--jackson-module-scala_2.11--com.fasterxml.jackson.module__jackson-module-scala_2.11__2.6.7.1.jar
    wget --quiet -O /databricks/jars/jackson-module-scala_2.11-2.9.4.jar http://central.maven.org/maven2/com/fasterxml/jackson/module/jackson-module-scala_2.11/2.9.4/jackson-module-scala_2.11-2.9.4.jar
    
    rm /databricks/jars/spark--maven-trees--spark_2.4--com.fasterxml.jackson.dataformat--jackson-dataformat-cbor--com.fasterxml.jackson.dataformat__jackson-dataformat-cbor__2.6.7.jar
    wget --quiet -O /databricks/jars/jackson-dataformat-cbor-2.9.4.jar https://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.9.4/jackson-dataformat-cbor-2.9.4.jar
    
    rm /databricks/jars/spark--maven-trees--spark_2.4--com.fasterxml.jackson.datatype--jackson-datatype-joda--com.fasterxml.jackson.datatype__jackson-datatype-joda__2.6.7.jar
    wget --quiet -O /databricks/jars/jackson-datatype-joda-2.9.4.jar https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-joda/2.9.4/jackson-datatype-joda-2.9.4.jar
    
    rm /databricks/jars/spark--maven-trees--spark_2.4--com.fasterxml.jackson.module--jackson-module-paranamer--com.fasterxml.jackson.module__jackson-module-paranamer__2.6.7.jar
    wget --quiet -O /databricks/jars/jackson-module-paranamer-2.9.4.jar https://repo1.maven.org/maven2/com/fasterxml/jackson/module/jackson-module-paranamer/2.9.4/jackson-module-paranamer-2.9.4.jar
    
    # Remove buggy jackson-module-jaxb-annotations-2.9.4-shaded-for-mysql-cdc.jar, which has wrong service load definination, till Databricks fix it.
    rm /databricks/jars/spark--versions--2.4--com.fasterxml.jackson.module__jackson-module-jaxb-annotations__2.9.4_shaded-for-mysql-cdc.jar
    
  6. Chargez le fichier dans votre répertoire Init Scripts :
    curl -n -H 'Authorization:Bearer MY_TOKEN' -F contents=@LOCAL_PATH_TO_SAVED_FILE -F path="/DBFS_STAGING_DIRECTORY_NAME/scripts/databricks_spark_2.4.X_patches.sh" "https://<account>.cloud.databricks.com/api/2.0/dbfs/put"