Compartir a través de


¿Qué es la creación de particiones en la versión preliminar del procesador de datos de Azure IoT?

Importante

Operaciones de IoT de Azure, habilitado por Azure Arc, está actualmente en VERSIÓN PRELIMINAR. No se debería usar este software en versión preliminar en entornos de producción.

Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

En una canalización de Azure IoT Data Processor (versión preliminar), la creación de particiones divide los datos entrantes en particiones independientes para habilitar el paralelismo de datos. El paralelismo de datos mejora el rendimiento y reduce la latencia. La creación de particiones también afecta a la forma en que las fases de canalización, como las últimas fases conocidas de valor y agregado, procesan los datos.

Conceptos de creación de particiones

El procesador de datos usa dos conceptos de creación de particiones:

  • Particiones físicas que corresponden a flujos de datos reales dentro del sistema.
  • Particiones lógicas que corresponden a flujos de datos conceptuales que se procesan juntos.

Una canalización del procesador de datos expone particiones como particiones lógicas al usuario. El sistema subyacente asigna estas particiones lógicas a particiones físicas.

Para especificar una estrategia de partición para una canalización, debe proporcionar dos datos:

  • Número de particiones físicas para la canalización.
  • Estrategia de creación de particiones que incluye el tipo de partición y una expresión para calcular la partición lógica para cada mensaje entrante.

Es importante elegir los recuentos de particiones correctos y las expresiones de partición para su escenario. El procesador de datos conserva el orden de los datos dentro de la misma partición lógica y los mensajes de la misma partición lógica se pueden combinar en fases de canalización, como el último valor conocido y lasfases de agregado. El recuento de particiones físicas no se puede cambiar y determina los límites de escala de canalización.

A diagram that shows the effect of partitioning a pipeline.

Configuración de partición

La creación de particiones dentro de una canalización se configura en su fase de entrada. La fase de entrada calcula la clave de partición del mensaje entrante. Sin embargo, la creación de particiones afecta a otras fases de una canalización.

La configuración de creación de particiones incluye:

Campo Descripción Necesario Valor predeterminado Ejemplo
Recuento de particiones Número de particiones en una canalización de procesador de datos. N/D 3
Tipo Tipo de creación partición lógica que se usará: partición id o partición key. key key
Expresión Expresión jq que se va a ejecutar en el mensaje entrante para procesar la partición id o particiónkey. N/D .topic

Se proporciona una expresión jq que se aplica a todo el mensaje que llega a la canalización del procesador de datos para generar la clave de partición o el id. de partición. La respuesta de esta consulta no debe superar los 128 caracteres.

Tipo de creación de particiones

Hay dos tipos de creación de particiones que puede configurar:

Clave de partición

Especifique una expresión jq que procese dinámicamente una cadena de clave de partición lógica para cada mensaje:

  • El administrador de particiones asigna automáticamente claves de partición a particiones físicas por parte del administrador de particiones.
  • Todos los datos correlacionados, como los últimos valores conocidos y agregados, se limitan a una partición lógica.
  • Se garantiza el orden de los datos en cada partición lógica.

Este tipo de creación de particiones es más útil cuando tiene docenas o más agrupaciones lógicas de datos.

Id. de partición

Especifique una expresión jq que procese dinámicamente un identificador de partición física numérico para cada mensaje, por ejemplo .topic.assetNumber % 8.

  • Los mensajes se colocan en la partición física que especifique.
  • Todos los datos correlacionados se limitan a una partición física.

Este tipo de creación de particiones es más adecuado cuando tiene pequeños números de agrupaciones lógicas de datos o desea un control preciso sobre el escalado y la distribución del trabajo. El número de identificadores de partición generados debe ser un entero y no debe superar el valor de 'partitionCount' – 1.

Consideraciones

Al elegir una estrategia de creación de particiones para la canalización:

  • El orden de los datos se conserva dentro de una partición lógica a medida que se reciben de los temas del MQTT broker.
  • Elija una estrategia de creación de particiones basada en la naturaleza de los datos entrantes y los resultados deseados. Por ejemplo, la última fase de valor conocida y la fase de agregado realizan operaciones en cada partición lógica.
  • Seleccione una clave de partición que distribuya uniformemente los datos entre todas las particiones.
  • Aumentar el número de particiones puede mejorar el rendimiento, pero también consume más recursos. Establezca un equilibrio en función de sus necesidades y limitaciones.