Résoudre les erreurs liées aux types de programme non compatibles

Cette page explique comment résoudre un problème connu dans Cloud Data Fusion 6.8.0 et 6.8.1, où un pipeline de données échoue en raison d'une erreur de type de programme non compatible dans Cloud Data Fusion. Ce problème a été résolu dans la version 6.8.2.

Pour réduire le temps de démarrage des pipelines, les instances Cloud Data Fusion 6.8.0 et 6.8.1 mettent en cache les artefacts requis pour démarrer un pipeline dans un cluster Dataproc au sein d'un bucket Cloud Storage. application.jar est l'un de ces artefacts mis en cache. Selon l'ordre dans lequel vous exécutez les pipelines, certains peuvent échouer et renvoyer l'erreur suivante:

Unsupported program type: Spark

Par exemple, après avoir créé une instance 6.8.1 (ou mis à niveau vers la version 6.8.1), la première fois que vous exécutez un pipeline qui ne contient que des actions, il aboutit. Toutefois, l'exécution du pipeline suivant, qui inclut des sources ou des récepteurs, peut échouer et générer cette erreur.

Recommandation

Pour résoudre ce problème, effectuez l'une des opérations suivantes:

Vous pouvez désactiver la mise en cache pour l'un des éléments suivants:

  • Pour tous les pipelines d'une instance.
  • Pour un espace de noms donné.
  • Pour les profils Dataproc spécifiques contenant les pipelines défaillants.
  • Pour les pipelines défaillants uniquement.

Désactiver la mise en cache Cloud Storage pour tous les pipelines d'une instance

Pour désactiver la mise en cache Cloud Storage pour tous les pipelines d'une instance, procédez comme suit:

Console

  1. Accédez à votre instance :
    1. Dans la console Google Cloud, accédez à la page Cloud Data Fusion.

    2. Pour ouvrir l'instance dans Cloud Data Fusion Studio, cliquez sur Instances, puis sur Afficher l'instance.

      Accéder à la page "Instances"

  2. Cliquez sur Administrateur système > Préférences système et définissez la valeur de system.profile.properties.gcsCacheEnabled sur false..

    Boîte de dialogue des préférences

API REST

Pour définir system.profile.properties.gcsCacheEnabled sur false, consultez Définir les préférences.

Désactiver la mise en cache Cloud Storage pour un espace de noms donné

Pour désactiver la mise en cache Cloud Storage pour un espace de noms donné, procédez comme suit:

Console

  1. Accédez à votre instance :
    1. Dans la console Google Cloud, accédez à la page Cloud Data Fusion.

    2. Pour ouvrir l'instance dans Cloud Data Fusion Studio, cliquez sur Instances, puis sur Afficher l'instance.

      Accéder à la page "Instances"

  2. Cliquez sur Administrateur système > Espaces de noms, puis sélectionnez votre espace de noms.
  3. Cliquez sur Préférences > Modifier, puis définissez la valeur de system.profile.properties.gcsCacheEnabled sur false.

    Boîte de dialogue des préférences d'espace de noms

API REST

Pour définir ce paramètre via l'API REST, consultez Définir les préférences.

Désactiver la mise en cache Cloud Storage pour un profil Dataproc

Pour désactiver la mise en cache Cloud Storage pour les profils Dataproc spécifiques contenant les pipelines défaillants, procédez comme suit:

Console

  • Définissez gcsCacheEnabled sur false dans le profil Dataproc.

Désactiver la mise en cache Cloud Storage uniquement pour les pipelines défaillants

Pour désactiver la mise en cache Cloud Storage uniquement pour les pipelines défaillants, procédez comme suit:

Console

  1. Accédez à votre instance :
    1. Dans la console Google Cloud, accédez à la page Cloud Data Fusion.

    2. Pour ouvrir l'instance dans Cloud Data Fusion Studio, cliquez sur Instances, puis sur Afficher l'instance.

      Accéder à la page "Instances"

  2. Cliquez sur List (Liste) et sélectionnez le pipeline défaillant.
  3. Cliquez sur Développer à côté de l'option Exécuter et définissez l'argument d'exécution system.profile.properties.gcsCacheEnabled sur false.
  4. Répétez l'opération pour tous les autres pipelines défaillants.

Boîte de dialogue de l'environnement d'exécution

API REST

Vous pouvez désactiver la mise en cache Cloud Storage lors du démarrage d'un pipeline via l'API REST. Vous pouvez également spécifier des arguments d'exécution sous forme de carte JSON dans le corps de la requête. Pour en savoir plus, consultez Démarrer un programme.