Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:✅ punto de conexión de análisis SQL y Almacenamiento de datos en Microsoft Fabric
La agrupación en clústeres de datos en Fabric Data Warehouse organiza los datos para mejorar el rendimiento de las consultas y reducir el uso de proceso. En este tutorial se describen los pasos para crear tablas con agrupación en clústeres de datos, desde la creación de tablas agrupadas hasta la comprobación de su eficacia.
Prerrequisitos
- Una cuenta de inquilino de Microsoft Fabric con una suscripción activa.
- Asegúrese de que tiene un área de trabajo habilitada para Microsoft Fabric: Crear un área de trabajo.
- Asegúrese de que ya ha creado un almacén. Para crear un nuevo almacén, consulte Creación de un almacén en Microsoft Fabric.
- Conocimientos básicos de T-SQL y consulta de datos.
Importar datos de ejemplo
En este tutorial se utiliza el conjunto de datos de muestra NY Taxi. Para importar los datos del taxi de NY en el almacén. Utilice el tutorial para cargar datos de muestra en el Almacén de Datos.
Crea una tabla con agrupamiento de datos
Para este tutorial, necesitamos dos copias de la tabla NYTaxi: la copia normal de la tabla tal como se importa desde el tutorial y una copia que usa la agrupación en clústeres de datos. Use el siguiente comando para crear una nueva tabla mediante CREATE TABLE AS SELECT (CTAS), basada en la tabla NYTaxi original:
CREATE TABLE nyctlc_With_DataClustering
WITH (CLUSTER BY (lpepPickupDatetime))
AS SELECT * FROM nyctlc
Nota:
En el ejemplo se asume el nombre de la tabla dado al conjunto de datos NY Taxi en el tutorial "Cargar datos de ejemplo en Data Warehouse". Si usó un nombre diferente para la tabla, ajuste el comando para reemplazar nyctlc por el nombre de la tabla.
Este comando crea una copia exacta de la tabla original NYTaxi, pero con la distribución de datos en clústeres en la columna lpepPickupDatetime. A continuación, se usa esta columna para realizar consultas.
Consultar datos
Ejecute una consulta en la tabla NYTaxi y repita la misma consulta exacta en la tabla NYTaxi_With_DataClustering para la comparación.
Nota:
Para este análisis, es beneficioso examinar el rendimiento de la caché en frío de ambas ejecuciones, es decir, sin usar las características de almacenamiento en caché de Fabric Data Warehouse. Por lo tanto, ejecute cada consulta exactamente una vez antes de examinar los resultados en Query Insights.
Usamos una consulta que a menudo se repite en el almacén. Esta consulta calcula el importe medio de tarifas por año entre las fechas 2008-12-31 y 2014-06-30:
SELECT
YEAR(lpepPickupDatetime),
AVG(fareAmount) as [Average Fare]
FROM
NYTaxi
WHERE
lpepPickupDatetime BETWEEN '2008-12-31' AND '2014-06-30'
GROUP BY
YEAR(lpepPickupDatetime)
ORDER BY
YEAR(lpepPickupDatetime) DESC
OPTION (LABEL = 'Regular');
Nota:
La opción de etiqueta utilizada en esta consulta es útil cuando comparamos los detalles de la consulta de la Regular tabla con la que utiliza clustering de datos más adelante, utilizando para ello las vistas de Query Insights.
A continuación, repetimos la misma consulta exacta, pero en la versión de la tabla que usa la agrupación en clústeres de datos:
SELECT
YEAR(lpepPickupDatetime),
AVG(fareAmount) as [Average Fare]
FROM
NYTaxi_With_DataClustering
WHERE
lpepPickupDatetime BETWEEN '2008-12-31' AND '2014-06-30'
GROUP BY
YEAR(lpepPickupDatetime)
ORDER BY
YEAR(lpepPickupDatetime) DESC
OPTION (LABEL = 'Clustered');
La segunda consulta usa la etiqueta Clustered para permitirnos identificar esta consulta más adelante con Query Insights.
Comprobación de la eficacia de la agrupación en clústeres de datos
Después de configurar la agrupación en clústeres, puede evaluar su eficacia mediante Query Insights. Query Insights en Fabric Data Warehouse captura datos históricos de ejecución de consultas y los agrega a información procesable, como la identificación de consultas de ejecución prolongada o ejecutadas con frecuencia.
En este caso, se usa Información de consulta para comparar la diferencia en los datos analizados entre los casos normales y agrupados.
Use la siguiente consulta:
SELECT
label,
submit_time,
row_count,
total_elapsed_time_ms,
allocated_cpu_time_ms,
result_cache_hit,
data_scanned_disk_mb,
data_scanned_memory_mb,
data_scanned_remote_storage_mb,
command
FROM
queryinsights.exec_requests_history
WHERE
command LIKE '%NYTaxi%'
AND label IN ('Regular','Clustered')
ORDER BY
submit_time DESC;
Esta consulta obtiene los detalles de la vista exec_requests_history. Para obtener más información, vea queryinsights.exec_requests_history (Transact-SQL).
La consulta filtra los resultados de las maneras siguientes:
- Captura solo las filas que contienen el
NYTaxitexto en el nombre del comando (como se usó en las consultas de prueba). - Captura solo las filas en las que el valor de la etiqueta era normal o agrupado
Nota:
Los detalles de la consulta pueden tardar unos minutos en estar disponibles en Query Insights. Si la consulta de Query Insights no devuelve ningún resultado, vuelva a intentarlo después de unos minutos.
Al ejecutar esta consulta, observamos los siguientes resultados:
Ambas consultas tienen un recuento de filas de 6 y tiempos de envío similares. La Clustered consulta muestra total_elapsed_time_ms de 1794, allocated_cpu_time_ms de 1676 y data_scanned_remote_storage_mb de 77,519. La consulta Regular muestra total_elapsed_time_ms de 2651, allocated_cpu_time_ms de 2600, y data_scanned_remote_storage_mb de 177.700. Estos números muestran que, aunque ambas consultas devolvieron los mismos resultados, la Clustered versión usó aproximadamente 36% menos tiempo de CPU que la Regular versión y examinó aproximadamente 56% menos datos en el disco. No se usó ninguna caché en ninguna ejecución de consulta. Estos son resultados significativos para ayudar a reducir el tiempo de ejecución de consultas y el consumo, y hacer que la columna lpepPickupDatetime sea un candidato firme para la agrupación en clústeres de datos.
Nota:
Se trata de una tabla pequeña, con aproximadamente 76 millones de filas y 2 GB de volumen de datos. Aunque esta consulta devuelve solo seis filas en su agregación (una por cada año en el intervalo), examina aproximadamente 8,3 millones de filas en el intervalo de fechas proporcionado antes de que se agreguen los resultados. Los datos de producción reales con volúmenes de datos mayores pueden proporcionar resultados más significativos. Los resultados pueden variar en función del tamaño de capacidad, los resultados almacenados en caché o la simultaneidad durante las consultas.