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 se resolvió en la versión 6.8.2.

Para reducir el tiempo de inicio de las canalizaciones, las instancias de Cloud Data Fusion versión 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, 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 próximas ejecuciones de canalización, 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 los siguientes elementos:

  • Para todas las canalizaciones de una instancia.
  • Para un espacio de nombres determinado.
  • Para los perfiles de Dataproc específicos que contienen 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 system.profile.properties.gcsCacheEnabled en false..

    Diálogo de preferencias

API de REST

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

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

Para inhabilitar la caché de Cloud Storage para un espacio de nombres determinado, 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 > 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 Establece preferencias.

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

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

Console

  • Establece gcsCacheEnabled en 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 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 List 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 entorno de ejecución

API de REST

La 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, cuando se especifican argumentos de tiempo de ejecución como una asignación JSON en el cuerpo de la solicitud. Para obtener más información, consulta Cómo iniciar un programa.