Soluciona problemas de tipos de programas no admitidos

En esta página, se describe cómo resolver un problema conocido en Cloud Data Fusion 6.8.0 y 6.8.1, en el que una canalización de datos falla con un error de tipo de programa no compatible en Cloud Data Fusion. Este problema está resuelto en la versión 6.8.2.

Para reducir la hora de inicio de las canalizaciones, Cloud Data Fusion versión 6.8.0 y 6.8.1 Las instancias almacenan en caché los artefactos necesarios para iniciar una canalización en un Clúster de Dataproc dentro de un bucket de Cloud Storage. Uno de estos artefactos almacenados en caché es application.jar. Según el orden en el que ejecutes tus canalizaciones, es posible que algunas fallan con el siguiente error:

Unsupported program type: Spark

Por ejemplo, después de crear una instancia nueva de 6.8.1 (o actualizar a 6.8.1), la primera vez que ejecutas una canalización que solo contiene acciones, se realiza correctamente. Sin embargo, las siguientes ejecuciones de canalizaciones, que incluyen fuentes o receptores, podrían fallar con este error.

Recomendación

Para solucionar este problema, realiza una de las siguientes acciones:

Puedes inhabilitar el almacenamiento en caché para cualquiera de los siguientes elementos:

  • Para todas las canalizaciones de una instancia.
  • Para un espacio de nombres determinado.
  • Para los perfiles específicos de Dataproc para contener las canalizaciones con errores.
  • Solo para las canalizaciones con errores.

Inhabilita el almacenamiento en caché de Cloud Storage para todas las canalizaciones de una instancia

Para inhabilitar el almacenamiento en caché de Cloud Storage para todas las canalizaciones de una instancia, sigue estos pasos:

Console

  1. Ve a tu instancia:
    1. En la consola de Google Cloud, ve a la página de Cloud Data Fusion.

    2. Para abrir la instancia en Cloud Data Fusion Studio, haz clic en Instancias y, luego, en Ver instancia.

      Ir a Instancias

  2. Haz clic en Administrador del sistema > Preferencias del sistema y establece el valor de De system.profile.properties.gcsCacheEnabled a false.

    Diálogo de preferencias

API de REST

Para establecer system.profile.properties.gcsCacheEnabled en false, consulta Establece preferencias.

Inhabilita el almacenamiento en caché de Cloud Storage para un espacio de nombres determinado

Para inhabilitar el almacenamiento en caché de Cloud Storage para un espacio de nombres determinado, sigue estos pasos: pasos:

Console

  1. Ve a tu instancia:
    1. En la consola de Google Cloud, ve a la página de Cloud Data Fusion.

    2. Para abrir la instancia en Cloud Data Fusion Studio, haz clic en Instancias y, luego, en Ver instancia.

      Ir a Instancias

  2. Haz clic en Administrador del sistema > Espacios de nombres y selecciona tu espacio de nombres.
  3. Haz clic en Preferences > Edit y establece el valor de system.profile.properties.gcsCacheEnabled en false.

    Diálogo de preferencias de espacio de nombres

API de REST

Para configurar esto a través de la API de REST, consulta Configura las preferencias.

Inhabilita el almacenamiento en caché de Cloud Storage para un perfil de Dataproc

Para inhabilitar el almacenamiento en caché de Cloud Storage Los perfiles de Dataproc que contienen las canalizaciones con errores, sigue estos pasos:

Console

  • Establece gcsCacheEnabled en false en el perfil de Dataproc.

Inhabilitar el almacenamiento en caché de Cloud Storage solo para las canalizaciones con errores

Para inhabilitar el almacenamiento en caché de Cloud Storage solo para las canalizaciones con errores, sigue estos pasos:

Console

  1. Ve a tu instancia:
    1. En la consola de Google Cloud, ve a la página de Cloud Data Fusion.

    2. Para abrir la instancia en Cloud Data Fusion Studio, haz clic en Instancias y, luego, en Ver instancia.

      Ir a Instancias

  2. Haz clic en Lista y selecciona la canalización con errores.
  3. Haz clic en Expandir junto a Ejecutar y establece el argumento de tiempo de ejecución system.profile.properties.gcsCacheEnabled en false.
  4. Repite el proceso para cualquier otra canalización que falle.

Diálogo de tiempo de ejecución

API de REST

El almacenamiento en caché de Cloud Storage se puede inhabilitar cuando se inicia una canalización a través de REST y, opcionalmente, especificando argumentos de entorno de ejecución como un mapa JSON en el del cuerpo de la solicitud. Para obtener más información, consulta Cómo iniciar un programa.