Cómo solucionar errores de tipos de programa no compatibles

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 el tiempo de inicio de las canalizaciones, las instancias de Cloud Data Fusion 6.8.0 y 6.8.1 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 las canalizaciones, algunas de ellas pueden fallar con el siguiente error:

Unsupported program type: Spark

Por ejemplo, después de crear una instancia nueva 6.8.1 (o actualizar a la versión 6.8.1), la primera vez que ejecutas una canalización que solo contiene acciones, se realiza de forma correcta. Sin embargo, las siguientes ejecuciones de canalizaciones, que incluyen fuentes o receptores, pueden 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 las siguientes opciones:

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

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

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

Consola

  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 System Admin > System Preferences y establece el valor de system.profile.properties.gcsCacheEnabled en 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 en un espacio de nombres determinado, sigue estos pasos:

Consola

  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 Preferencias > Editar 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 Establece preferencias.

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

A fin de inhabilitar el almacenamiento en caché de Cloud Storage para los perfiles específicos de Dataproc que contienen las canalizaciones con errores, sigue estos pasos:

Consola

  • Configura gcsCacheEnabled como false en el perfil de Dataproc.

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

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

Consola

  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 del tiempo de ejecución system.profile.properties.gcsCacheEnabled en false.
  4. Repite el proceso para cualquier otra canalización con errores.

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 la API de REST y, de manera opcional, si especificas argumentos del entorno de ejecución como un mapa JSON en el cuerpo de la solicitud. Para obtener más información, consulta Cómo iniciar un programa.