Ingesta de datos históricos en Azure Data Explorer

Un escenario común al incorporar a Azure Data Explorer consiste en ingerir datos históricos, a veces denominados reposición. El proceso implica la ingesta de datos de un sistema de almacenamiento existente en una tabla, que es una colección de extensiones.

Se recomienda ingerir datos históricos mediante la propiedad creationTime ingestion para establecer la hora de creación de extensiones en el momento en que se crearon los datos. El uso de la hora de creación como criterio de creación de particiones de ingesta puede hacer que los datos sean más eficaces según las directivas de retención y caché, y hacer que los filtros de tiempo sean más eficaces.

De forma predeterminada, el tiempo de creación de las extensiones se establece en el momento en que se ingieren los datos, lo que podría no generar el comportamiento esperado. Por ejemplo, supongamos que tiene una tabla que tiene un período de caché de 30 días y un período de retención de dos años. En el flujo normal, los datos ingeridos a medida que se producen se almacenan en caché durante 30 días y, a continuación, se mueven al almacenamiento en frío. Después de dos años, en función de la hora de creación, los datos más antiguos se quitan de un día a la vez. Sin embargo, si ingiere dos años de datos históricos donde, de forma predeterminada, los datos se marcan con tiempo de creación a medida que se ingieren los datos. Esto podría no generar el resultado deseado porque:

  • Todos los datos llegan a la memoria caché y permanecen allí durante 30 días, usando más caché de lo previsto.
  • Los datos más antiguos no se quitan de un día a la vez; por lo tanto, los datos se conservan en el clúster durante más tiempo de lo necesario y, después de dos años, se quitan a la vez.
  • Los datos, previamente agrupados por fecha en el sistema de origen, ahora se pueden procesar por lotes en la misma medida, lo que da lugar a consultas ineficaces.

Diagrama que muestra el resultado esperado frente al real de la ingesta de datos históricos mediante la hora de creación predeterminada.

En este artículo, aprenderá a crear particiones de datos históricos:

  • Uso de la propiedad de ingesta durante la creationTime ingesta (recomendado)

    Siempre que sea posible, ingiera datos históricos mediante la creationTime propiedad de ingesta, lo que le permite establecer el tiempo de creación de las extensiones extrayendolos de la ruta de acceso del archivo o del blob. Si la estructura de carpetas no usa un patrón de fecha de creación, se recomienda reestructurar la ruta de acceso del archivo o del blob para reflejar la hora de creación. Mediante este método, los datos se ingieren en la tabla con el tiempo de creación correcto y la memoria caché y los períodos de retención se aplican correctamente.

    Nota

    De forma predeterminada, las extensiones se particionan en el momento de la creación (ingesta) y, en la mayoría de los casos, no es necesario establecer una directiva de creación de particiones de datos.

  • Uso de una directiva de creación de particiones después de la ingesta

    Si no puede usar la creationTime propiedad de ingesta, por ejemplo, si ingiere datos mediante el conector de Azure Cosmos DB , donde no puede controlar la hora de creación o si no puede reestructurar la estructura de carpetas, puede volver a particionar la tabla después de la ingesta para lograr el mismo efecto mediante la directiva de creación de particiones. Sin embargo, este método puede requerir algún error y prueba para optimizar las propiedades de la directiva y es menos eficaz que usar la creationTime propiedad de ingesta. Solo se recomienda este método cuando se usa la creationTime propiedad de ingesta no es posible.

Requisitos previos

Ingesta de datos históricos

Se recomienda crear particiones de datos históricos mediante la propiedad de ingesta durante la creationTime ingesta. Sin embargo, si no puede usar este método, puede volver a particionar la tabla después de la ingesta mediante una directiva de creación de particiones.

LightIngest puede ser útil para cargar datos históricos desde un sistema de almacenamiento existente a Azure Data Explorer. Aunque puede crear su propio comando mediante la lista de argumentos de la línea de comandos, en este artículo se muestra cómo generar automáticamente este comando a través de un asistente para ingesta. Además de crear el comando, puede usar este proceso para crear una tabla y crear una asignación de esquemas. Esta herramienta deduce la asignación de esquemas del conjunto de datos.

Destination

  1. En la interfaz de usuario web de Azure Data Explorer, en el menú de la izquierda, seleccione Consulta.

  2. Haga clic con el botón derecho en la base de datos en la que desea ingerir los datos y, a continuación, seleccione LightIngest.

    Captura de pantalla de la interfaz de usuario web de Azure Data Explorer que muestra el menú Más de la base de datos.

    Se abre la ventana Ingerir datos con la pestaña Destino seleccionada. Los campos Clúster y Base de datos se rellenan automáticamente.

  3. Seleccione una tabla de destino. Si desea ingerir datos en una nueva tabla, seleccione Nueva tabla y, a continuación, escriba un nombre de tabla.

    Nota

    Los nombres de tabla pueden tener hasta 1024 caracteres, incluidos espacios, alfanuméricos, guiones y caracteres de subrayado. No se admiten caracteres especiales.

    Captura de pantalla de la pestaña de destino en la que se muestra la base de datos y la tabla de destino.

  4. Seleccione Next: Source (Siguiente: Origen).

Source

  1. En Seleccionar origen, seleccione Agregar dirección URL o Seleccionar contenedor.

    • Al agregar una dirección URL, en Vincular al origen, especifique la clave de cuenta o la dirección URL de SAS en un contenedor. Puede crear la dirección URL de SAS manual o automáticamente.

    • Al seleccionar un contenedor de la cuenta de almacenamiento, seleccione la suscripción de almacenamiento, la cuenta de almacenamiento y el contenedor en los menús desplegables.

      Captura de pantalla del cuadro de diálogo para seleccionar el contenedor de la suscripción y la cuenta de almacenamiento.

    Nota

    La ingesta admite un tamaño de archivo máximo de 6 GB. Se recomienda ingerir archivos de entre 100 MB y 1 GB.

  2. Seleccione Configuración avanzada para definir opciones adicionales para el proceso de ingesta mediante LightIngest.

    Captura de pantalla de la selección de las opciones de configuración avanzadas para el proceso de ingesta con la herramienta LightIngest.

  3. En el panel Configuración avanzada , defina la configuración de LightIngest según la tabla siguiente.

    Captura de pantalla del panel de configuración avanzada que muestra la configuración adicional para el procesamiento de ingesta que implica la herramienta LightIngest.

    Propiedad Descripción
    Patrón de tiempo de creación Especifique para invalidar la propiedad de tiempo de ingesta de la extensión creada con un patrón, por ejemplo, para aplicar una fecha basada en la estructura de carpetas del contenedor. Consulte también Patrón de tiempo de creación.
    Patrón de nombre de blob Especifique el patrón utilizado para identificar los archivos que se van a ingerir. Ingiera todos los archivos que coincidan con el patrón de nombre de blob en el contenedor especificado. Admite caracteres comodín. Se recomienda incluir entre comillas dobles.
    Tag Una etiqueta asignada a los datos ingeridos. La etiqueta puede ser cualquier cadena.
    Limitar la cantidad de archivos Especifique el número de archivos que se pueden ingerir. Ingiere los primeros archivos n que coinciden con el patrón de nombre de blob, hasta el número especificado.
    No espere a que se complete la ingesta Si está configurado, pone en cola los blobs para la ingesta sin supervisar el proceso de ingesta. Si no está configurado, LightIngest continúa sondeando el estado de ingesta hasta que se completa la ingesta.
    Mostrar solo los elementos seleccionados Enumera los archivos del contenedor, pero no los ingiere.
  4. Seleccione Listo para volver a la pestaña Origen .

    1. Opcionalmente, seleccione Filtros de archivo para filtrar los datos para ingerir solo los archivos de una ruta de acceso de carpeta específica o con una extensión de archivo determinada.

      Captura de pantalla del filtrado de datos en la pestaña de origen de la pantalla Ingest new data (Ingerir nuevos datos).

      De forma predeterminada, uno de los archivos del contenedor se selecciona aleatoriamente y se usa para generar el esquema de la tabla.

    2. Opcionalmente, en Esquema que define el archivo, puede especificar el archivo que se va a usar.

  5. Seleccione Next: Schema (Siguiente: esquema) para ver y editar la configuración de la columna de tabla.

Schema

La pestaña esquema proporciona una vista previa de los datos.

Para generar el comando LightIngest, seleccione Siguiente: Iniciar ingesta.

Opcionalmente:

  • Cambie el formato de datos inferido automáticamente seleccionando el formato deseado en el menú desplegable.
  • Cambie el nombre de asignación inferido automáticamente. Puede usar caracteres alfanuméricos y caracteres de subrayado. No se admiten espacios, caracteres especiales ni guiones.
  • Cuando se usa una tabla existente, puede elegir Keep current table schema (Mantener esquema de la tabla actual) si el esquema de tabla coincide con el formato seleccionado.
  • Seleccione Visor de comandos para ver y copiar los comandos automáticos generados a partir de las entradas.
  • Editar columnas. En Vista previa de datos parciales, seleccione los menús desplegables de columnas para modificar varios aspectos de la tabla.

Los cambios que pueda realizar a una tabla dependerán de los siguientes parámetros:

  • El tipo de tabla es nuevo o existente
  • El tipo de asignación es nuevo o existente
Tipo de tabla. Tipo de asignación Ajustes disponibles
Tabla nueva Asignación nueva Cambiar el tipo de datos, cambiar el nombre de la columna, nueva columna, eliminar columna, actualizar columna, orden ascendente, orden descendente.
Tabla existente Asignación nueva Nueva columna (en la que puede cambiar el tipo de datos, cambiar el nombre y actualizar).
Nueva columna, orden ascendente, orden descendente
Asignación existente Orden ascendente, orden descendente

Nota

Al agregar una nueva columna o actualizarla, puede cambiar las transformaciones de asignación. Para más información, consulte Asignación de transformaciones.

Ingesta

  1. Una vez que la tabla, la asignación y el comando LightIngest se marcan con marcas de verificación verdes, seleccione el icono de copia situado en la parte superior derecha del cuadro de comandos Generado para copiar el comando LightIngest generado.

    Captura de pantalla de la pestaña Summary (Resumen) con el comando generado. Puede copiar el comando con el icono de copia situado encima del cuadro del comandos generado.

    Nota

    Si es necesario, puede descargar la herramienta LightIngest seleccionando Descargar LightIngest.

  2. Para completar el proceso de ingesta, debe ejecutar LightIngest mediante el comando copiado.