Compartir a través de


Procedimientos para ingerir datos históricos en Azure Data Explorer

Un escenario común al incorporar a Azure Data Explorer es 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 el tiempo de creación de extensiones en el momento en que se crearon los datos. Con el tiempo de creación, ya que el criterio de creación de particiones de ingesta puede envejecer los datos de acuerdo con 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 extensiones se establece en la hora 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 generan 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 un día a la vez. Sin embargo, si ingiere dos años de datos históricos en los que, de forma predeterminada, los datos se marcan con el tiempo de creación a medida que se ingieren los datos. Esto podría no producir 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 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 agrupar por lotes en la misma medida, lo que conduce 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 va a ingerir datos mediante el conector de Azure Cosmos DB en el que no puede controlar el tiempo de creación o si no puede reestructurar la estructura de carpetas, puede volver a particionar la ingesta posterior a la tabla 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 de un sistema de almacenamiento existente en 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.

Destino

  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 escriba un nombre de tabla.

    Nota:

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

    Captura de pantalla de la pestaña de destino que 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 Vínculo 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 de forma manual o automática.

    • Al seleccionar un contenedor de la cuenta de almacenamiento, seleccione la suscripción de Storage, 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 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 archivos en 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 de definición de 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.

Esquema

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 los valores que haya introducido.
  • 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 están marcados 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.