Cómo Audantic construyó un lago de datos para los segmentos del mercado inmobiliario

Cómo Audantic construyó un lago de datos para los segmentos del mercado inmobiliario

  • Big Data
  • mayo 5, 2022
  • No Comment
  • 79
  • 13 minutes read


Esta es una contribución conjunta de Audintic y Databricks. Nos gustaría agradecer al coautor Joel LowryDirector de Información – Audintic, por su contribución.

En Audantic, brindamos soluciones de datos y análisis para segmentos de nicho de mercado dentro de viviendas unifamiliares. Aprovechamos los datos inmobiliarios para crear modelos de aprendizaje automático para comparar, optimizar y proporcionar inteligencia de ingresos a nuestros clientes para que puedan tomar decisiones de inversión inmobiliaria estratégicas, en tiempo real y basadas en datos.

Utilizamos una variedad de conjuntos de datos, que incluyen impuestos sobre la propiedad y datos de registro, y datos demográficos, por nombrar algunos. La construcción de nuestros modelos predictivos requiere grandes conjuntos de datos, muchos cientos de columnas de ancho y cientos de millones de registros, incluso antes de considerar una dimensión de tiempo.

Para respaldar nuestras iniciativas basadas en datos, habíamos «unido» varios servicios para ETL, Orquestación, ML aprovechando AWS y Airflow, donde vimos cierto éxito pero rápidamente se convirtió en un sistema demasiado complejo que tomó casi cinco veces más tiempo para desarrollar por comparación con la nueva solución. Nuestro equipo reunió métricas de alto nivel al comparar nuestra implementación anterior y la solución actual de Lakehouse. Como puede ver en la siguiente tabla, pasamos meses desarrollando nuestra solución anterior y tuvimos que escribir aproximadamente tres veces más código. Además, hemos reducido el tiempo de actividad de nuestra tubería en un 73 % y hemos ahorrado un 21 % en costos operativos.

implementación previa Nueva solución Lakehouse mejora
tiempo de desarrollo 6 meses 25 días Tiempo de desarrollo 86% más corto
líneas de código ~ 6000 ~ 2000 66% menos líneas de código

En este blog, analizo nuestra implementación anterior y analizo nuestra solución Lakehouse actual. Queremos mostrarle cómo nuestros equipos de datos redujeron la complejidad, aumentaron la productividad y mejoraron la agilidad con Databricks Lakehouse Platform.

implementación previa

Nuestra arquitectura anterior incluía varios servicios de AWS, así como otros componentes para lograr la funcionalidad que queríamos, incluido un módulo de Python, Airflow, EMR, S3, Glue, Athena, etc. A continuación se muestra una arquitectura simplificada:

    Arquitectura de análisis de datos utilizada por Audintic antes de implementar Databricks Lakehouse para la industria de bienes raíces.

En resumen, el proceso fue el siguiente:

  1. Usamos Airflow para orquestar nuestros DAG.
  2. Se creó un código personalizado para enviar correos electrónicos y notificaciones de holgura a través de Airflow.
  3. El código de transformación se compiló y transfirió a S3.
  4. Secuencias de comandos para iniciar EMR con la configuración adecuada de Apache Spark™, ​​la configuración del clúster y los argumentos de trabajo.
  5. Airflow para orquestar trabajos con código enviado a S3.
  6. Los esquemas de tablas se agregaron con Glue y la administración de particiones de tablas se realizó con comandos SQL a través de Athena.

Debido a la complejidad de nuestra implementación anterior, enfrentamos muchos desafíos que retrasaron nuestro progreso e innovación, entre ellos:

  • Gestionar interrupciones y escenarios de falla
    • Las tareas debían escribirse para permitir un reinicio simple en caso de falla; de lo contrario, se requeriría una intervención manual.
    • Necesario para agregar calidad de datos personalizada y mecanismos de seguimiento de errores que aumentan los gastos generales de mantenimiento.
  • DevOps complejos
    • Tenía que administrar instancias de Airflow y acceder a los hosts.
    • Tenía muchas herramientas diferentes y una lógica compleja para conectarlas en los DAG de Airflow.
  • Manual de mantenimiento y puesta a punto
    • Tuve que administrar y modificar la configuración de Spark, la configuración del clúster y el entorno (y automatizar esto con código personalizado cuando fue posible).
    • Tenía que administrar el tamaño del archivo de salida para evitar demasiados archivos pequeños o demasiado grandes para cada trabajo (con Parquet).
    • Se requiere para realizar actualizaciones de datos completas o calcular qué particiones ejecutar para actualizaciones incrementales y luego se requiere para ajustar la configuración del clúster y Spark en función de la cantidad de particiones de datos utilizadas.
    • Los cambios en los esquemas del conjunto de datos de origen requerían cambios de código manuales, ya que los conjuntos de datos de entrada eran archivos CSV o similares con un código personalizado que contenía un esquema para cada conjunto de datos.
    • El registro se incorporó a las tareas de Airflow, pero aún tenía que revisar los registros en varios lugares (Airflow, EMR, S3, etc.).
  • Falta de conocimiento sobre el linaje de datos
    • Las dependencias entre conjuntos de datos en diferentes trabajos eran complejas y no fáciles de determinar, especialmente cuando los conjuntos de datos estaban en diferentes DAG.

Implementación actual: Data Lakehouse escalable con Databricks

Elegimos la plataforma Databricks Lakehouse porque nos impresionó la facilidad de administrar entornos, clústeres y archivos/datos; la alegría y la eficacia de la edición colaborativa en tiempo real en los cuadernos Databricks; y la apertura y flexibilidad de la plataforma sin sacrificar la confiabilidad y la calidad (por ejemplo, construida alrededor de su formato Delta Lake de código abierto, lo que evitó que nos encerráramos en un formato o pila propietario). Vimos DLT como otro paso para eliminar aún más de los desafíos de la implementación anterior. Nuestro equipo estaba particularmente entusiasmado con la ingesta fácil y rápida de datos sin procesar almacenados en S3, el soporte para el desarrollo de esquemas, la definición de expectativas para la validación y el monitoreo de la calidad de los datos, y la administración de dependencias de datos.

Delta Live Tables (DLT) facilitó que Audantic creara y administrara canalizaciones de datos confiables que brindan datos de alta calidad en Delta Lake

Beneficios de las mesas en vivo de Delta

Delta Live Tables (DLT) facilitó la creación y administración de canalizaciones de datos confiables que brindan datos de alta calidad en Delta Lake. DLT mejoró la productividad de los desarrolladores en un 380 % y nos ayudó a entregar conjuntos de datos de alta calidad para ML y análisis de datos mucho más rápido.

Hemos visto una serie de beneficios al usar Delta Live Tables, que incluyen:

  • procesamiento de flujo
    • Soporte incorporado para transmisión con opción de actualización completa si es necesario
  • DevOps más fácil
    • Nuestro equipo no tuvo que administrar ningún servidor, ya que DLT administró toda la infraestructura de procesamiento.
    • Los administradores podrían administrar fácilmente a los usuarios de Databricks
    • Conjunto de herramientas más pequeño que funcionaba en conjunto de manera más fluida.
      • Por ejemplo:
        • Nueva implementación: las tablas creadas por DLT fueron inmediatamente accesibles con DB SQL.
        • Implementación anterior: esquema de tabla creado con Glue y luego nuevas particiones agregadas con Athena sobre los datos subyacentes creados o agregados por un trabajo de Spark.
  • Mantenimiento optimizado y ajuste del rendimiento
    • Práctica recomendada de forma predeterminada con la configuración de Spark y Cluster en DLT.
    • Tamaño de archivo gestionado con optimización automática y vacío.
    • Vea fácilmente el estado, los recuentos y los registros en DLT.
  • Linaje de datos automático
    • DLT conserva las dependencias de datos y facilita la visualización del linaje desde el origen de los datos hasta el destino.
  • Calidad de datos mejorada
    • Gestión de calidad de datos integrada con la capacidad de establecer expectativas de calidad de datos, proporciona registro y la opción de ignorar/eliminar/poner en cuarentena: nuestra implementación anterior requería tareas de flujo de aire personalizadas separadas y, a veces, intervención humana para gestionar la calidad de los datos.

Trabajar con SQL de Databrick

Con Databricks SQL, pudimos proporcionar a los analistas una interfaz SQL para consumir datos directamente desde Seehaus, eliminando la necesidad de exportar datos a otra herramienta para el consumo analítico. También nos brindó un control mejorado de nuestros flujos de trabajo diarios a través de notificaciones de éxito y fracaso de Slack.

Leer archivos con Auto Loader

El cargador automático de Databrick puede ingerir automáticamente archivos almacenados en la nube en Delta Lake. Nos permite aprovechar la contabilidad incorporada de Structured Streaming y el comportamiento tolerante a fallas mientras mantenemos los costos cerca del procesamiento por lotes.

Conclusión

Creamos un data lakehouse resistente y escalable en la plataforma Databricks Lakehouse con Delta Lake, Delta Live Tables, Databricks SQL y Auto Loader. Pudimos reducir significativamente los gastos generales operativos al eliminar la necesidad de mantener instancias de Airflow, administrar el ajuste de parámetros de Spark y controlar la administración de dependencias.

Además, el uso de tecnologías de Databricks que funcionan juntas de forma nativa, en lugar de agrupar muchas tecnologías diferentes para cubrir la funcionalidad que necesitábamos, condujo a una simplificación significativa. La reducción de la complejidad y los gastos generales operativos ha ayudado a acelerar significativamente nuestro ciclo de vida de desarrollo y ya ha dado como resultado mejoras en nuestra lógica empresarial. En resumen, nuestro pequeño equipo pudo usar DLT para producir un trabajo de calidad en menos tiempo.

Trabajo futuro

Tenemos próximos proyectos para migrar nuestros modelos de aprendizaje automático a Lakehouse y mejorar nuestros complejos procesos de ciencia de datos como la resolución de entidades. Estamos entusiasmados de permitir que otros equipos de nuestra organización comprendan y accedan a los datos disponibles en el nuevo Lakehouse. Los productos de Databricks como Feature Store, AutoML, Databricks SQL, Unity Catalog y más permitirán a Audantic acelerar aún más esta transformación.

Próximos pasos

Consulte algunos de nuestros recursos para comenzar con Delta Live Table



Related post

Fecha de lanzamiento de Ruinsmagus confirmada para la próxima semana

Fecha de lanzamiento de Ruinsmagus confirmada para la próxima…

El próximo rastreador de mazmorras de realidad virtual Ruinsmagus finalmente tiene una fecha de lanzamiento. La gran experiencia RPG se lanza…
Cómo los objetos tecnológicos brillantes distraen la atención de la política climática

Cómo los objetos tecnológicos brillantes distraen la atención de…

Soy ingeniero de formación y me encantan las cosas nuevas. Los últimos gadgets, ideas, diseños. Pero cuando se trata del clima,…
El equipo Autopilot de Tesla y Cybertruck visitan Nueva Orleans para CVPR

El equipo Autopilot de Tesla y Cybertruck visitan Nueva…

El equipo de piloto automático de Tesla visitó recientemente Nueva Orleans para la Conferencia sobre visión artificial y reconocimiento de patrones…

Leave a Reply

Tu dirección de correo electrónico no será publicada.