DE Challange Olay
DE Challange Olay
DE Challange Olay
Azure Data Factory (ADF): Azure Data Factory es un servicio de orquestación de datos en la nube
proporcionado por Microsoft. Su función principal es facilitar la creación, programación y
administración de flujos de trabajo de datos. En el proceso de ETL (Extract, Transform, Load), ADF
desempeña los siguientes roles:
Extracción (Extract): Permite extraer datos de diversas fuentes, como bases de datos, archivos,
servicios web, etc.
Carga (Load): Facilita la carga de datos transformados en destinos como almacenes de datos, data
lakes o sistemas de análisis.
Data Warehouse: Es una base de datos optimizada para consultas y análisis. Almacena datos
estructurados y normalizados, generalmente provenientes de sistemas transaccionales. Los data
warehouses son ideales para consultas ad hoc y generación de informes.
Data Lake: Es un repositorio de datos que almacena información en su formato original (sin
estructurar) y a gran escala. Puede contener datos estructurados, semiestructurados y no
estructurados. Los data lakes son flexibles y se utilizan para almacenar grandes volúmenes de datos
antes de aplicar transformaciones específicas.
Ejemplo: Podríamos recolectar datos de clics de usuarios en una aplicación móvil. Si desemos realizar
análisis exploratorios rápidos y generar informes, un data warehouse sería más adecuado. Sin
embargo, si quisiéramos almacenar todos los datos brutos (incluyendo registros de errores, eventos
raros, etc.) para futuros análisis más profundos, un data lake sería la elección correcta.
Notebooks en Databricks:
Los notebooks son entornos interactivos que combinan código (generalmente en lenguajes como
Python, Scala o SQL) con documentación y visualizaciones (Markdown).
En Databricks, los notebooks son ampliamente utilizados para explorar datos, prototipar algoritmos,
realizar análisis y crear flujos de trabajo de transformación.
Puedes escribir código en celdas individuales, ejecutarlas y ver los resultados inmediatamente. Esto
facilita la colaboración y la iteración en proyectos de procesamiento de datos.
Configuraremos la conexión al origen SQL Server y definiremos la consulta para extraer los datos
necesarios.
Los datos previamente extraídos del Data Lake serán utilizados como entrada para el notebook.
Configuraremos la conexión al Data Warehouse (por ejemplo, Azure Synapse Analytics o Azure SQL
Data Warehouse).
ruta_almacenamiento = "abfss://<
mi_nombre_contenedor>@<mi_nombre_cuenta>.dfs.core.windows.net/<ruta_archivo>.parquet"
df = spark.read.parquet(ruta_almacenamiento)
if dtype == "string":
columnas_seleccionadas.append(col)
# Antes de filtrar debería verificar de no repetir id en caso de que si fuese string
df_resultante = df_filtrado.select(*columnas_seleccionadas)
# Guardamos el DataFrame resultante en la misma ubicación con la carpeta específicada, vale aclarar
que no estoy seguro de si esto funcione por la ñ, normalmente estas cosas las guardo en ingles…
ruta_guardado = "abfss://<
mi_nombre_contenedor>@<mi_nombre_cuenta>.dfs.core.windows.net/<ruta_guardado>/año=201
7"
# Utilizo overwrite para asegurarnos de generar data nueva en caso de conflictos con el origen
df_resultante.write.mode("overwrite").parquet(ruta_guardado)