Gestionar macros, preferencias y argumentos de tiempo de ejecución

En esta página se explica cómo definir preferencias, macros y argumentos de tiempo de ejecución en las canalizaciones de Cloud Data Fusion.

Términos clave

Macros
Las macros son marcadores de posición en las configuraciones de los complementos de Cloud Data Fusion. Se representan mediante variables entre ${ }, como ${input_file_path}. Las macros aportan flexibilidad a tus pipelines, ya que te permiten usar valores de marcador de posición, que se sustituyen por valores reales en el tiempo de ejecución. De esta forma, se habilita la configuración dinámica de parámetros, como las rutas de archivo y los nombres de tabla.
Preferencias
Las preferencias son configuraciones predefinidas que se aplican en varios niveles de Cloud Data Fusion, como el sistema, los espacios de nombres, las aplicaciones (que contienen flujos de trabajo) y los programas individuales de los flujos de trabajo. Las preferencias le permiten definir valores predeterminados para las configuraciones que se usan con frecuencia. Los valores predeterminados se pueden heredar en las canalizaciones y los programas de niveles inferiores, lo que reduce las tareas de configuración repetitivas.
Argumentos de tiempo de ejecución
Los argumentos de tiempo de ejecución son pares clave-valor que proporcionan valores para las macros y, potencialmente, anulan las preferencias cuando implementas o ejecutas una canalización. Son muy personalizables, lo que le permite ajustar las configuraciones en cada ejecución de la canalización, sin modificar la canalización ni las preferencias subyacentes.

Configurar macros

Para usar una macro en el valor de una propiedad de un complemento, sigue estos pasos:

  1. En Cloud Data Fusion Studio, vaya al nodo del complemento y haga clic en Propiedades.
  2. Ve al campo en el que quieras usar una macro y haz clic en la M situada junto al campo.
  3. Introduce una tecla para la macro. Por ejemplo, en las propiedades del complemento de la fuente de archivo, introduzca la siguiente clave en el campo Formato: ${format.type}.

Definir valores de macro

Define los valores de las macros antes de previsualizar los datos de una canalización y antes de ejecutarla. Puede definir valores de macro en los siguientes lugares:

  • Plugins de configuración de argumentos
  • Argumentos de tiempo de ejecución
  • Preferencias de la aplicación
  • Preferencias de espacio de nombres
  • Preferencias del sistema

Al ejecutar un flujo de procesamiento con macros, se hace lo siguiente:

  • Cloud Data Fusion comprueba primero si la canalización incluye un complemento de asignación de argumentos:
    • Si tiene un setter de argumentos, Cloud Data Fusion usa los valores de las macros.
    • Si no hay un definidor de argumentos o si hay macros que no se han asignado en el definidor de argumentos, Cloud Data Fusion usará los valores de los argumentos de tiempo de ejecución de la canalización.
  • Los argumentos del entorno de ejecución heredan las macros de las preferencias de la aplicación.
  • Las preferencias de la aplicación heredan las macros de las preferencias del espacio de nombres
  • Las preferencias de espacio de nombres heredan las macros de las preferencias del sistema.

Ejemplos

Las macros se suelen usar en los campos de ruta. En lugar de usar rutas codificadas, puedes usar rutas dinámicas. Por ejemplo, en un complemento de origen de Cloud Storage, puede sustituir el valor de la ruta por varias macros. El siguiente valor divide los elementos de contenedor, carpeta y archivo: gs://${bucket.name}/${folder}/${file.name}.

En el siguiente ejemplo se cargan datos de un segmento estático y de un archivo con un nombre que no es estático. Para ello, se introduce el nombre del segmento y se usa una macro para el nombre de archivo: gs://<BUCKET_NAME>/${folder}/${file.name}.

Para obtener más información, consulta Macros y funciones de macro.

Configurar preferencias

En la siguiente sección se describe la jerarquía de preferencias, donde se definen, heredan o anulan las preferencias.

Definir las preferencias del sistema

Puedes definir las preferencias del sistema. Como los nombres de las macros deben ser únicos, cada preferencia se aplica a todos los flujos de procesamiento que usen esa macro.

Por ejemplo, tiene una canalización con una fuente de base de datos y usa macros para el nombre de la base de datos y el nombre de usuario. Puedes definir las preferencias de la base de datos y el nombre de usuario en las preferencias del sistema. Todos los espacios de nombres y todas las canalizaciones de esa instancia heredarán esas preferencias.

Para definir las preferencias del sistema, sigue estos pasos:

  1. En Cloud Data Fusion Studio, haga clic en Administrador del sistema > Configuración.
  2. Haz clic en Preferencias del sistema > Editar preferencias del sistema.
  3. En el cuadro de diálogo Preferencias, introduce nuevas preferencias o edita las que ya tengas.
  4. Haz clic en Save & Close (Guardar y cerrar). Estas preferencias están disponibles en todos los espacios de nombres, aplicaciones y pipelines.

Definir preferencias de espacio de nombres

Puedes definir preferencias para espacios de nombres concretos.

Cuando configuras las preferencias de espacio de nombres, se muestran las preferencias del sistema heredadas. Cuando define las preferencias de un espacio de nombres, puede anular las heredadas asignando valores diferentes. También puedes añadir nuevas preferencias de espacio de nombres.

Para definir las preferencias de espacio de nombres, sigue estos pasos:

  1. En Cloud Data Fusion Studio, haga clic en Administrador del sistema > Configuración.
  2. Haga clic en Espacios de nombres y seleccione un espacio de nombres para abrir su página de configuraciones.
  3. Para editar las preferencias heredadas o añadir otras nuevas, ve a la pestaña Preferencias y haz clic en Editar. Se abre un cuadro de diálogo Preferencias en el que puedes introducir una nueva preferencia o anular las preferencias del sistema heredadas. Haga clic en Añadir e introduzca la clave y el nuevo valor de la macro.
  4. Haz clic en Save & Close (Guardar y cerrar). La preferencia de espacio de nombres se crea con el nuevo valor, que tiene prioridad sobre la preferencia del sistema.

Definir las preferencias de las aplicaciones

Puedes definir preferencias para cada canalización implementada en un espacio de nombres. Cuando configuras las preferencias de la aplicación, aparecen las preferencias de sistema y de espacio de nombres heredadas. Cuando defines las preferencias de una aplicación, puedes anular las preferencias heredadas asignando valores diferentes o añadir nuevas preferencias para la aplicación:

  1. En Cloud Data Fusion Studio, haga clic en y, a continuación, en el menú Espacio de nombres para seleccionar el espacio de nombres en el que quiera añadir las preferencias de la aplicación.
  2. Haz clic en Centro de control.
  3. Haz clic en el icono de llave inglesa Establecer preferencias. Se mostrará una lista con todas las preferencias heredadas.
  4. Para editar las preferencias heredadas o añadir otras nuevas, ve a la pestaña Preferencias y haz clic en Editar. Se abre un cuadro de diálogo Preferencias en el que puedes introducir una nueva preferencia o anular las preferencias del sistema heredadas. Haga clic en Añadir e introduzca la clave y el nuevo valor de la macro.
  5. Haz clic en Save & Close (Guardar y cerrar). La preferencia de la aplicación se crea con el nuevo valor, que anula las preferencias del sistema o del espacio de nombres. Cuando ejecutas la canalización implementada, las preferencias de la aplicación aparecen como argumentos de tiempo de ejecución, que puedes editar de forma opcional.

Configurar argumentos de tiempo de ejecución

Configura argumentos de tiempo de ejecución para proporcionar valores a las macros y, posiblemente, anular las preferencias al implementar o ejecutar una canalización.

Argumentos del tiempo de ejecución para previsualizar datos

Para definir los valores de cada macro de la canalización al previsualizar los datos en Cloud Data Fusion Studio, haga clic en Lista > Configurar.

Argumentos del tiempo de ejecución para ejecutar flujos de procesamiento desplegados

Si una canalización incluye macros, después de implementarla, añade argumentos de tiempo de ejecución, que definen los valores de las macros.

Cuando implemente una canalización con macros, haga clic en el menú desplegable situado junto a Ejecutar para abrir el cuadro de diálogo Argumentos de tiempo de ejecución y defina los valores de cada macro.

Definir las preferencias de la canalización

Para definir las preferencias de una canalización, sigue estos pasos:

  1. En Cloud Data Fusion Studio, haga clic en Lista > Implementado y seleccione una canalización implementada para verla.
  2. En el lienzo de la canalización, haz clic en el menú desplegable situado junto a Ejecutar. Se abrirá el cuadro de diálogo Argumentos de tiempo de ejecución.
  3. En el cuadro de diálogo Argumentos de tiempo de ejecución que se abre, especifica el valor de cada macro de la canalización.

Información general sobre las preferencias, las macros y los argumentos de tiempo de ejecución

Puedes configurar preferencias en los siguientes niveles:

  • Preferencias del sistema: el nivel más alto en el que se definen las preferencias, como los valores predeterminados, de toda la instancia.
  • Preferencias de espacio de nombres: hereda las preferencias de Preferencias del sistema. Puedes definir preferencias para un espacio de nombres concreto.
  • Preferencias de la aplicación: hereda las preferencias de Preferencias de espacio de nombres. Pueden ser únicos para aplicaciones concretas (que contengan pipelines).
  • Argumentos de tiempo de ejecución: pares clave-valor que anulan las preferencias en niveles superiores.

Si define una preferencia a nivel de preferencias del sistema, los valores de la macro se rellenarán automáticamente en las preferencias del espacio de nombres, las preferencias de la aplicación y los argumentos de tiempo de ejecución.

Si define preferencias a nivel de espacio de nombres, aparecerán en la lista de preferencias heredadas de las preferencias de la aplicación. Si una canalización usa una macro definida en una preferencia, los argumentos de tiempo de ejecución usarán el par clave-valor definido en la preferencia. Puedes anular los valores de las preferencias en cada nivel de preferencia y en los argumentos de tiempo de ejecución.

Usa preferencias, macros y argumentos de tiempo de ejecución en los siguientes casos prácticos:

  • Desarrollar un flujo de trabajo. Insertar macros donde necesite valores dinámicos para las propiedades del complemento.
  • Opcional: definir preferencias. Definir valores predeterminados para las macros en las preferencias de varios niveles.
  • Desplegar y ejecutar un flujo de procesamiento. Cuando ejecutas un flujo de procesamiento, ocurre lo siguiente:
    • Se aplican las preferencias del nivel correspondiente, como las preferencias del sistema o las preferencias del espacio de nombres.
    • Los argumentos de tiempo de ejecución que proporcione anularán los valores asignados a las macros en las preferencias.
    • Cloud Data Fusion resuelve las macros sustituyendo sus valores por los argumentos de tiempo de ejecución (o las preferencias si no se proporciona ningún argumento de tiempo de ejecución).

Ejemplo

Un flujo de procesamiento tiene un receptor de BigQuery cuyo valor de nombre de tabla debe cambiar de forma dinámica. Para configurarlo, sigue estos pasos:

  1. Define la macro. En las propiedades del receptor, usa la siguiente macro en el campo Nombre de la tabla: ${output_table}..
  2. Define la preferencia. En las preferencias de la aplicación, define una preferencia para ${output_table} con el siguiente valor predeterminado: data_staging.
  3. Define el argumento de tiempo de ejecución. Al ejecutar el flujo de procesamiento, proporciona un argumento de tiempo de ejecución, por ejemplo, output_table=final_analytics_data.

Durante la ejecución de la canalización, la macro ${output_table}, se sustituye por final_analytics_data.

Siguientes pasos