Solucionar errores de tipo de programa no admitido

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 un flujo de procesamiento de datos falla con un error de tipo de programa no admitido en Cloud Data Fusion. Este problema se ha resuelto en la versión 6.8.2.

Para reducir el tiempo de inicio de las canalizaciones, las instancias de Cloud Data Fusion de las versiones 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 segmento de Cloud Storage. Uno de estos artefactos almacenados en caché es application.jar. En función del orden en el que ejecutes tus canalizaciones, es posible que algunas fallen y muestren el siguiente error:

Unsupported program type: Spark

Por ejemplo, después de crear una instancia de la versión 6.8.1 (o de actualizar a esta versión), la primera vez que ejecutes una canalización que solo contenga acciones, se completará correctamente. Sin embargo, las siguientes ejecuciones de la canalización, que incluyen orígenes o receptores, pueden fallar con este error.

Recomendación

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

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

  • Para todos los flujos de procesamiento de una instancia.
  • Para un espacio de nombres concreto.
  • Para los perfiles de Dataproc específicos que contienen las canalizaciones con errores.
  • Solo para las canalizaciones que fallan.

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

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

Consola

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

    2. Para abrir la instancia en Cloud Data Fusion Studio, haga clic en Instancias y, a continuación, en Ver instancia.

      Ir a Instancias

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

    Cuadro de diálogo Preferencias

API REST

Para definir system.profile.properties.gcsCacheEnabled como false, consulta Establecer preferencias.

Inhabilitar 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 concreto, sigue estos pasos:

Consola

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

    2. Para abrir la instancia en Cloud Data Fusion Studio, haga clic en Instancias y, a continuación, en Ver instancia.

      Ir a Instancias

  2. Haz clic en Administración del sistema > Espacios de nombres y selecciona tu espacio de nombres.
  3. Haz clic en Preferencias > Editar y asigna el valor false a system.profile.properties.gcsCacheEnabled.

    Cuadro de diálogo de preferencias de espacio de nombres

API REST

Para definirlo mediante la API REST, consulta Establecer preferencias.

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

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

Consola

  • Asigna el valor false a gcsCacheEnabled en el perfil de Dataproc.

Inhabilitar el almacenamiento en caché de Cloud Storage solo para las canalizaciones que fallan

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

Consola

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

    2. Para abrir la instancia en Cloud Data Fusion Studio, haga clic en Instancias y, a continuación, en Ver instancia.

      Ir a Instancias

  2. Haz clic en Lista y selecciona la canalización que ha fallado.
  3. Haz clic en Mostrar más junto a Ejecutar y define el argumento de tiempo de ejecución system.profile.properties.gcsCacheEnabled como false.
  4. Repite el proceso con cualquier otra canalización que falle.

Cuadro de diálogo de tiempo de ejecución

API REST

El almacenamiento en caché de Cloud Storage se puede inhabilitar al iniciar una canalización a través de la API REST y también especificando de forma opcional argumentos de tiempo de ejecución como un mapa JSON en el cuerpo de la solicitud. Para obtener más información, consulta Iniciar un programa.