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.

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 ingiere 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 su tiempo 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. Este comportamiento 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 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, reestructure 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 ingestar datos mediante el conector de Azure Cosmos DB donde no puede controlar el tiempo 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 utilizando la directiva de creación de particiones. Sin embargo, este método podría requerir algo de prueba y error para optimizar las propiedades de la política y es menos eficaz que usar la creationTime propiedad de ingesta. Utilice este método solo cuando no sea posible utilizar la propiedad de ingesta creationTime.

Requisitos previos

Ingesta de datos históricos

Particione los datos históricos utilizando la propiedad creationTime durante la ingesta. Si no puede usar este método, puede reparticionar la tabla después de la ingestión mediante una política de particionamiento.

LightIngest es ú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 de ingesta. Además de crear el comando, puede usar este proceso para crear una nueva tabla y asignar un esquema. 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 donde 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. Para 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, incluidos espacios, caracteres 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 usado 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 van a cargar. 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, especifique 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. Cuando la tabla, la asignación y el comando LightIngest muestren marcas de verificación verdes, seleccione el icono de copia situado en la parte superior derecha del cuadro Comando 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.