Filtrado y Selección de Datos con SQL
Desliza para mostrar el menú
Una Vista Temporal es un alias con alcance de sesión para un DataFrame que permite interactuar con los datos utilizando sintaxis SQL estándar. No mueve ni duplica los datos; simplemente proporciona una "ventana" compatible con SQL hacia el DataFrame que reside en la memoria del clúster.
Aunque Python es excelente para construir flujos de trabajo complejos, muchos profesionales de datos prefieren la legibilidad y rapidez de SQL para filtrar y seleccionar datos. En Databricks, no es necesario elegir entre uno u otro. Es posible transformar un DataFrame de Python en una tabla SQL temporal (una "vista") y comenzar a consultarla de inmediato.
Creación de una Vista Temporal
Antes de ejecutar una consulta SQL sobre un DataFrame, es necesario asignarle un nombre que el motor SQL pueda reconocer. Esto se puede hacer utilizando el método createOrReplaceTempView.
# Create a SQL view named 'diamond_view' from our existing DataFrame
df.createOrReplaceTempView("diamond_view")
La parte "Replace" de este comando es importante: garantiza que si ejecutas la celda nuevamente, simplemente actualizará la vista en lugar de causar un error. Esta vista existirá solo durante la sesión actual del notebook.
Consultas con el comando mágico %sql
Ahora que la vista está registrada, puedes cambiar de lenguaje. Al utilizar el comando mágico %sql al inicio de una nueva celda, puedes realizar exactamente las mismas selecciones y filtros que hiciste en Python, pero utilizando la sintaxis estándar de SQL.
%sql
SELECT carat, cut, depth
FROM diamond_view
WHERE price > 500
El poder del filtrado en SQL
SQL es especialmente intuitivo para el filtrado complejo. Se puede utilizar el operador IN para filtrar por múltiples valores o el operador LIKE para coincidencias de patrones, tareas que suelen ser más extensas en Python.
%sql
SELECT * FROM diamond_view
WHERE cut IN ('Good', 'Premium')
AND clarity LIKE '%V%'
Selección y alias de columnas
En SQL, seleccionar y renombrar columnas es sencillo utilizando la palabra clave AS. Esta es una práctica común para que los encabezados de tus informes finales sean más profesionales.
%sql
SELECT
carat,
cut AS Diamond_Quality,
price AS Selling_Price
FROM diamond_view
¿Por qué usar una vista temporal?
Quizás te preguntes: "¿Por qué no consultar la tabla directamente desde el Catálogo?" La ventaja de una vista temporal es que permite consultar un DataFrame que ya ha sido parcialmente limpiado o modificado en Python. Proporciona un puente, permitiendo utilizar Python para las tareas complejas de ingeniería de datos y SQL para el análisis y la visualización final.
1. ¿Qué método de Python debe ejecutar antes de poder usar %sql para consultar un DataFrame?
2. ¿Qué sucede con una "Vista Temporal" una vez que se desconecta el notebook del clúster o finaliza la sesión?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla