Ejecutar queries en Azure Databricks Notebook

Published by Keyla Dolores on

Ya que tenemos creado un azure databricks notebook, en este post nos centraremos en explorar su uso para el análisis de datos.

Entonces, lo primero que tenemos que hacer es cargar un archivo con los datos que queramos analizar. Si bien es cierto, azure databricks nos permite conectarnos a distintos servicios de azure como sql database, blob storage, data lake storage o SQL Datawarehouse, también existe la opción de poder practicar con algunos archivos de prueba.
De cualquier forma, en este post les mostraré como cargar uno que tengamos en nuestro equipo.

Clic Data y luego clic en Add Data.

Hacemos clic en Upload File, clic en Browse y en el explorador de archivos buscamos el archivo csv que queremos analizar.

Luego buscaremos en la pestaña DBFS > FileStore > tables, el archivo que acabamos de subir. Esto, con el fin de copiar la ruta donde se encuentra almacenado, el cual usaremos más adelante.

Entonces, como ya tenemos el archivo con el que trabajaremos, nos vamos a Workspace y seleccionamos el Notebook que habíamos creado en el post anterior:

Uso de tablas

Vamos a crear una tabla (con el nombre que prefieras) y poblarla con el contenido del csv cargado anteriormente. ¡Ojo! Si ya existe una tabla con el mismo nombre, se generará una excepción.

Entonces, para crear una tabla escribe el siguiente código y ejecuta la celda.

DROP TABLE IF EXISTS coches;

CREATE TABLE coches
USING csv
OPTIONS (path "/FileStore/tables/coches.csv" , header "true", delimiter ";")

Una vez creada la tabla, procedemos a comprobar que efectivamente los datos se encuentren en ella.

SELECT * FROM coches

La celda anterior nos devolverá como resultado el set de datos en formato tabla. Asi que, vamos a seguir explorando los datos que tenemos ayudándonos visualmente a través de gráficos. Para ello, basta con jugar con las opciones que encuentres debajo de cada celda.

Luego, vamos a resumir los datos y generar un gráfico de barras con la siguiente linea.

select  Coches, avg(Precio) as Precio from coches group by Coches order by Coches

Uso de Python DataFrame API

El API DataFrame nos va a proporcionar un amplio conjunto de funciones (como seleccionar columnas, filtrar, unir, agregar, etc.) que permitirán resolver problemas comunes de análisis de datos de manera eficiente. Además de esto, también le permite mezclar operaciones sin problemas con código personalizado de Python, R, Scala y SQL.

Dicho esto, la manera más fácil de comprender este concepto es en la práctica así que vamos a crear un dataframe a partir del siguiente código:

%python
coches = spark.read.csv("/FileStore/tables/coches.csv", header="true", inferSchema="true", sep=";")

En el código anterior lo que se hace basicamente es decirle que tiene nuestro archivo tiene una cabecera (header = “true”), que infiera de manera automática la estructura de los datos (inferSchema = “true”) y como dato adicional le decimos que nuestro archivo está delimitado por punto y coma (“;”).

Ahora que ya tenemos el dataframe creado podemos pasar a visualizar los datos utilizando comandos estándar. Así que, para ver estos datos en formato tabular, usaremos el comando Databricks  Display() y adicionalmente incluiremos una función de agrupación y agregación para tener como resultado lo siguiente:

%python
from pyspark.sql.functions import avg

display (coches.select("Coches","Precio").groupBy("Coches").agg(avg("Precio")).sort("Coches"))

¡Excelente! Hoy hemos aprendido a hacer el uso de tablas y dataframes para poder analizar nuestros datos contenidos en un csv.


Leave a Reply

Your email address will not be published. Required fields are marked *