arrow_back

Solución de problemas y resolución de errores en la unión de datos

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Solución de problemas y resolución de errores en la unión de datos

Lab 1 hora universal_currency_alt 5 créditos show_chart Intermedio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP412

Labs de autoaprendizaje de Google Cloud

Descripción general

BigQuery es la base de datos estadísticos de Google de bajo costo, no-ops y completamente administrada. Con BigQuery, puedes consultar muchos terabytes de datos sin tener que administrar infraestructuras y sin necesitar un administrador de base de datos. BigQuery usa SQL y puede aprovechar el modelo de pago por uso. BigQuery te permite enfocarte en el análisis de datos para buscar estadísticas valiosas.

Unir tablas de datos puede proporcionar estadísticas valiosas sobre tu conjunto de datos. Sin embargo, cuando unes los datos, existen errores comunes que podrían corromper los resultados. Este lab se enfoca en cómo evitar estos errores. Tipos de uniones:

  • Unión cruzada: Combina cada fila del primer conjunto de datos con cada fila del segundo, y cada combinación se representa en el resultado.
  • Unión interna: Requiere que los valores clave estén en ambas tablas para que los registros aparezcan en la tabla de resultados. Los registros solo aparecerán en la combinación si los valores clave coinciden en ambas tablas.
  • Unión izquierda: Cada fila de la tabla de la izquierda aparece en los resultados, sin importar si hay coincidencias en la tabla de la derecha.
  • Unión derecha: Es lo contrario a una unión izquierda. Cada fila de la tabla de la derecha aparece en los resultados, sin importar si hay coincidencias en la tabla de la izquierda.

Para obtener más información sobre uniones, consulta la Página de uniones.

Utilizarás un conjunto de datos de comercio electrónico que tiene millones de registros de Google Analytics para Google Merchandise Store cargados en BigQuery. Tienes una copia de ese conjunto de datos para este lab y explorarás los campos y las filas disponibles para obtener estadísticas.

Para obtener información sobre la sintaxis, que te ayudará a seguir y actualizar las consultas, consulta el artículo Sintaxis de consultas en SQL estándar.

Actividades

En este lab, realizarás las siguientes tareas:

  • Utilizar BigQuery para explorar un conjunto de datos
  • Solucionar problemas de filas duplicadas en un conjunto de datos
  • Crear uniones entre tablas de datos
  • Comprender cada tipo de unión

Configuración

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Cómo abrir la consola de BigQuery

  1. En la consola de Google Cloud, seleccione elmenú de navegación > BigQuery.

Se abrirá el cuadro de mensaje Te damos la bienvenida a BigQuery en la consola de Cloud. Este cuadro de mensaje contiene un vínculo a la guía de inicio rápido y las notas de la versión.

  1. Haga clic en Listo.

Se abrirá la consola de BigQuery.

Tarea 1. Crea un nuevo conjunto de datos para almacenar tus tablas

En tu proyecto de BigQuery, crea un nuevo conjunto de datos llamado ecommerce.

  1. Haz clic en los tres puntos que se ubican junto al ID de tu proyecto y selecciona Crear conjunto de datos.

Se destaca la opción Crear conjunto de datos

Se abrirá el diálogo Crear conjunto de datos.

  1. Define el ID del conjunto de datos en ecommerce.

  2. Deja las otras opciones con sus valores predeterminados y haz clic en Crear conjunto de datos.

En el panel izquierdo, puedes ver una tabla ecommerce en la lista debajo de tu proyecto.

Haz clic en Revisar mi progreso para verificar el objetivo.

Crea un conjunto de datos nuevo

Tarea 2. Fija el proyecto del lab en BigQuery

Situación: Tu equipo te proporciona un conjunto de datos nuevo sobre los niveles de inventario para cada uno de tus productos en venta en tu sitio web de comercio electrónico. Recomendamos que te familiarices con los productos del sitio web y con los campos que podrías usar para unirlos a otros conjuntos de datos.

El proyecto que contiene el nuevo conjunto de datos es data-to-insights.

  1. Haz clic en Menú de navegación Ícono del menú de navegación > BigQuery.

Se abrirá el cuadro de mensaje de bienvenida a BigQuery en la consola de Cloud.

Nota: Allí, se proporciona un vínculo para acceder a la guía de inicio rápido y actualizaciones de IU.
  1. Haz clic en Listo.

  2. Los conjuntos de datos públicos de BigQuery no se muestran de forma predeterminada. Para abrir el proyecto de conjuntos de datos públicos, copia data-to-insights.

  3. Haz clic en + Agregar > Destaca un proyecto por nombre y, luego, pega el nombre data-to-insights.

  4. Haz clic en Destacar.

El proyecto data-to-insights aparecerá en la sección Explorador.

Tarea 3. Examina los campos

A continuación, explora los productos y campos del sitio web que puedes usar para crear consultas y analizar el conjunto de datos.

  1. En la sección Recursos del panel de la izquierda, navega a data-to-insights > ecommerce > all_sessions_raw.

  2. A la derecha, debajo del Editor de consultas, haz clic en la pestaña Esquema para ver los Campos y la información de cada campo.

Tarea 4. Identifica un campo clave en tu conjunto de datos de comercio electrónico

Realiza un análisis más detallado de los productos y los campos. Recomendamos que te familiarices con los productos del sitio web y con los campos que podrías usar para unirlos a otros conjuntos de datos.

Examina los registros

En esta sección, descubrirás cuántos nombres y SKU de productos hay en tu sitio web y si alguno de esos campos es único.

  1. Descubre cuántos nombres y SKU de productos hay en el sitio web. Copia y pega la siguiente consulta en el EDITOR de BigQuery:
#standardSQL # how many products are on the website? SELECT DISTINCT productSKU, v2ProductName FROM `data-to-insights.ecommerce.all_sessions_raw`
  1. Haz clic en Ejecutar.

Observa los resultados de paginación en la consola para conocer la cantidad total de registros que se devolvieron.

Resultados de la consulta con la paginación destacada

Pero ¿los resultados implican que hay muchos SKU de productos únicos? Como analista de datos, una de las primeras consultas que ejecutarás será para determinar la unicidad de los valores de datos.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación para ver la cantidad de SKU distintos con la función DISTINCT:
#standardSQL # find the count of unique SKUs SELECT DISTINCT productSKU FROM `data-to-insights.ecommerce.all_sessions_raw`

Examina la relación entre SKU y nombre

Ahora, determina qué productos tienen más de un SKU y qué SKU tienen más de un nombre de producto.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación para determinar si algunos nombres de producto tienen más de un SKU. Se usa la función STRING_AGG() para agregar todos los SKU de producto asociados a un nombre de producto en valores separados por comas.
SELECT v2ProductName, COUNT(DISTINCT productSKU) AS SKU_count, STRING_AGG(DISTINCT productSKU LIMIT 5) AS SKU FROM `data-to-insights.ecommerce.all_sessions_raw` WHERE productSKU IS NOT NULL GROUP BY v2ProductName HAVING SKU_count > 1 ORDER BY SKU_count DESC
  1. Haz clic en Ejecutar.

Resultados:

Resultados de la consulta

El catálogo del sitio web de comercio electrónico indica que cada nombre de producto puede tener varias opciones (como de tamaño y color) que se venden como SKU diferentes.

Ya vimos el caso de 1 producto con 12 SKU. ¿Qué sucede en el caso de 1 SKU? ¿Puede asignarse a más de 1 producto?

  • Borra la consulta anterior y ejecuta la que se indica a continuación para averiguarlo:
SELECT productSKU, COUNT(DISTINCT v2ProductName) AS product_count, STRING_AGG(DISTINCT v2ProductName LIMIT 5) AS product_name FROM `data-to-insights.ecommerce.all_sessions_raw` WHERE v2ProductName IS NOT NULL GROUP BY productSKU HAVING product_count > 1 ORDER BY product_count DESC

Resultados de la consulta

Nota: Intenta reemplazar STRING_AGG() con ARRAY_AGG(). Se ve bien, ¿no? BigQuery es compatible de forma nativa con los valores de array anidados. Obtén más información en la guía Trabaja con arrays.

En la siguiente sección, verás por qué esta relación de datos de varios a varios puede convertirse en un problema.

Haz clic en Revisar mi progreso para verificar el objetivo.

Identifica un campo clave en tu conjunto de datos de comercio electrónico

Tarea 5. Error: clave no única

Para el seguimiento del inventario, un SKU está pensado para identificar de manera inequívoca a cada uno de los productos. Para nosotros, será la base de tu condición de UNIÓN cuando busques información de otras tablas. Tener una clave que no es única puede provocar graves problemas de datos, como verás a continuación.

  1. Escribe una consulta para identificar todos los nombres de producto para el SKU "GGOEGPJC019099".

Solución posible:

SELECT DISTINCT v2ProductName, productSKU FROM `data-to-insights.ecommerce.all_sessions_raw` WHERE productSKU = 'GGOEGPJC019099'
  1. Haz clic en Ejecutar.

v2ProductName

productSKU

7" Dog Frisbee

GGOEGPJC019099

7" Dog Frisbee

GGOEGPJC019099

Google 7-inch Dog Flying Disc Blue

GGOEGPJC019099

A partir de los resultados de la consulta, parece que hay tres nombres diferentes para el mismo producto. En este ejemplo, hay un carácter especial en un nombre y un nombre apenas diferente para otro:

Une datos del sitio web a tu lista de inventario de productos

Ahora, observa el impacto que produce unir un conjunto de datos con varios productos para un único SKU. Primero, explora el conjunto de datos del inventario de productos (la tabla products) para ver si este SKU es único allí.

  • Borra la consulta anterior y ejecuta la que se indica a continuación:
SELECT SKU, name, stockLevel FROM `data-to-insights.ecommerce.products` WHERE SKU = 'GGOEGPJC019099'

Error de unión: relaciones accidentales de SKU "varios a uno"

Ahora tienes dos conjuntos de datos: uno para el nivel de stock del inventario y otro para nuestras estadísticas del sitio web. UNE el conjunto de datos del inventario a los nombres de producto de tu sitio web y a los SKU, de manera que puedas asociar el nivel de stock del inventario con cada producto a la venta en el sitio web.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
SELECT DISTINCT website.v2ProductName, website.productSKU, inventory.stockLevel FROM `data-to-insights.ecommerce.all_sessions_raw` AS website JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU WHERE productSKU = 'GGOEGPJC019099'

Ahora, expande la consulta anterior para SUMAR el inventario disponible por producto.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
WITH inventory_per_sku AS ( SELECT DISTINCT website.v2ProductName, website.productSKU, inventory.stockLevel FROM `data-to-insights.ecommerce.all_sessions_raw` AS website JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU WHERE productSKU = 'GGOEGPJC019099' ) SELECT productSKU, SUM(stockLevel) AS total_inventory FROM inventory_per_sku GROUP BY productSKU

¡Vaya! Es 154 x 3 = 462 o el triple del inventario. Esto se conoce como una unión cruzada accidental (un tema que volveremos a revisar más adelante).

Haz clic en Revisar mi progreso para verificar el objetivo.

Error: clave no única

Tarea 6: Solución al error de unión: utilizar SKU distintos antes de hacer la unión

¿Cuáles son las opciones para resolver tu dilema de recuento triple? Primero, solo debes seleccionar SKU distintos del sitio web antes de unirlos a otras bases de datos.

Sabes que puede haber más de un nombre de producto (como 7" Dog Frisbee) que compartan el mismo SKU.

  1. Recopila todos los nombres posibles en un array:
SELECT productSKU, ARRAY_AGG(DISTINCT v2ProductName) AS push_all_names_into_array FROM `data-to-insights.ecommerce.all_sessions_raw` WHERE productSKU = 'GGOEGAAX0098' GROUP BY productSKU

Ahora, en lugar de tener una fila para cada nombre de producto, solo tendrás una fila para cada SKU único.

  1. Si quieres anular la duplicación de los nombres de producto, podrías LIMITAR el array del siguiente modo:
SELECT productSKU, ARRAY_AGG(DISTINCT v2ProductName LIMIT 1) AS push_all_names_into_array FROM `data-to-insights.ecommerce.all_sessions_raw` WHERE productSKU = 'GGOEGAAX0098' GROUP BY productSKU

Error de unión: la pérdida de registros de datos después de una unión

Ahora está todo listo para que unas tu conjunto de datos de inventario de productos de nuevo.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
#standardSQL SELECT DISTINCT website.productSKU FROM `data-to-insights.ecommerce.all_sessions_raw` AS website JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU

Parece que se perdieron 819 SKU después de unir los conjuntos de datos. Para investigar esta pérdida, agrega más especificidad en tus campos (una columna de SKU para cada conjunto de datos):

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
#standardSQL # pull ID fields from both tables SELECT DISTINCT website.productSKU AS website_SKU, inventory.SKU AS inventory_SKU FROM `data-to-insights.ecommerce.all_sessions_raw` AS website JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU # IDs are present in both tables, how can you dig deeper?

Parece que los SKU están presentes en ambos conjuntos de datos después de la unión de estos 1,090 registros. ¿Cómo puedes encontrar los registros que faltan?

Solución al problema de unión: Seleccionar el tipo de unión correcto y filtrar por valores NULL

El tipo de instrucción JOIN predeterminado es una INNER JOIN que devuelve registros solo si hay una coincidencia de SKU en las tablas unidas de la izquierda y de la derecha.

  1. Vuelve a escribir la consulta para usar un tipo de unión diferente y, así, incluir todos los registros de la tabla del sitio web, sin importar si hay una coincidencia en el registro de SKU del inventario de productos. Opciones de tipo de instrucciones de unión: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN.

Solución posible:

#standardSQL # the secret is in the JOIN type # pull ID fields from both tables SELECT DISTINCT website.productSKU AS website_SKU, inventory.SKU AS inventory_SKU FROM `data-to-insights.ecommerce.all_sessions_raw` AS website LEFT JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU
  1. Haz clic en Ejecutar.

Usaste correctamente LEFT JOIN para devolver los 1,909 SKU de sitio web originales en tus resultados.

¿Cuántos SKU faltan del conjunto de inventarios de productos?

  1. Escribe una consulta para filtrar los valores NULL de la tabla del inventario.

Solución posible:

#standardSQL # find product SKUs in website table but not in product inventory table SELECT DISTINCT website.productSKU AS website_SKU, inventory.SKU AS inventory_SKU FROM `data-to-insights.ecommerce.all_sessions_raw` AS website LEFT JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU WHERE inventory.SKU IS NULL
  1. Haz clic en Ejecutar.

Pregunta: ¿Cuántos productos faltan?

Respuesta: Faltan 819 productos (EL SKU ES NULL) en el conjunto de datos del inventario.

  • Borra la consulta anterior y ejecuta la que se indica a continuación para confirmar el uso de uno de los SKU específicos del conjunto de datos del sitio web:
#standardSQL # you can even pick one and confirm SELECT * FROM `data-to-insights.ecommerce.products` WHERE SKU = 'GGOEGATJ060517' # query returns zero results

Ahora, ¿qué sucede en la situación inversa? ¿Hay productos del conjunto de datos del inventario de productos que no aparecen en el sitio web?

  1. Escribe una consulta con un tipo de unión diferente para investigar.

Solución posible:

#standardSQL # reverse the join # find records in website but not in inventory SELECT DISTINCT website.productSKU AS website_SKU, inventory.SKU AS inventory_SKU FROM `data-to-insights.ecommerce.all_sessions_raw` AS website RIGHT JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU WHERE website.productSKU IS NULL
  1. Haz clic en Ejecutar.

Respuesta: Sí. Hay dos SKU de producto que no están en el conjunto de datos del sitio web.

A continuación, agrega más campos del conjunto de datos del inventario de productos para obtener más detalles.

  • Borra la consulta anterior y ejecuta la que se indica a continuación:
#standardSQL # what are these products? # add more fields in the SELECT STATEMENT SELECT DISTINCT website.productSKU AS website_SKU, inventory.* FROM `data-to-insights.ecommerce.all_sessions_raw` AS website RIGHT JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU WHERE website.productSKU IS NULL

¿Por qué faltarían los siguientes productos del conjunto de datos del sitio web de comercio electrónico?

website_SKU

SKU

name

orderedQuantity

stockLevel

restockingLeadTime

sentimentScore

sentimentMagnitude

null

GGOBJGOWUSG69402

USB wired soundbar - in store only

10

15

2

1.0

1.0

null

GGADFBSBKS42347

PC gaming speakers

0

100

1

null

null

Respuestas posibles:

  • Un producto nuevo (ni pedidos ni "sentimentScore") y un producto que se encuentra "solo en una tienda física".
  • Otro es un producto nuevo con 0 pedidos.

¿Por qué el producto nuevo no se mostraría en tu conjunto de datos del sitio web?

  • El conjunto de datos del sitio web está formado por transacciones de pedidos antiguos realizadas por clientes. Los productos nuevos que no se han vendido no aparecerán en las estadísticas web hasta que se los vea o se los compre.
Nota: Por lo general, no verás instrucciones RIGHT JOIN en las consultas de producción. Simplemente usarás LEFT JOIN y cambiarás el orden de las tablas.

¿Qué tal si quisieras realizar una consulta que enumere todos los productos que falten, ya sea del sitio web o del inventario?

  1. Escribe una consulta con un tipo de unión diferente.

Solución posible:

#standardSQL SELECT DISTINCT website.productSKU AS website_SKU, inventory.SKU AS inventory_SKU FROM `data-to-insights.ecommerce.all_sessions_raw` AS website FULL JOIN `data-to-insights.ecommerce.products` AS inventory ON website.productSKU = inventory.SKU WHERE website.productSKU IS NULL OR inventory.SKU IS NULL
  1. Haz clic en Ejecutar.

Tienes 819 + 2 = 821 SKU de productos.

LEFT JOIN + RIGHT JOIN = FULL JOIN, que devuelve todos los registros de ambas tablas, sin importar que coincidan las claves de unión. Luego, filtra todos los lugares donde no haya coincidencia de cada lado.

Error de unión: unión cruzada accidental

No conocer la relación entre las claves de tabla de datos (1:1, 1:N, N:N) puede devolver resultados inesperados y reducir de manera significativa el rendimiento de las consultas.

El último tipo de unión es CROSS JOIN.

Crea una tabla nueva con un porcentaje de descuento en todo el sitio que quieras aplicar a todos los productos de la categoría “Liquidación”.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
#standardSQL CREATE OR REPLACE TABLE ecommerce.site_wide_promotion AS SELECT .05 AS discount;

En el panel de la izquierda, site_wide_promotion ahora aparece en la sección Resource debajo de tu proyecto y conjunto de datos.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación para descubrir cuántos productos hay en liquidación:
SELECT DISTINCT productSKU, v2ProductCategory, discount FROM `data-to-insights.ecommerce.all_sessions_raw` AS website CROSS JOIN ecommerce.site_wide_promotion WHERE v2ProductCategory LIKE '%Clearance%'

Nota: Observa que, para usar una CROSS JOIN, no hay ninguna condición de unión (p. ej., "ON" o "USING"). El campo simplemente se multiplica por el primer conjunto de datos o un descuento de 0.05 en todos los artículos.

Observa el impacto de agregar de manera accidental más de un registro a la tabla de descuentos.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación para insertar dos registros más a la tabla de promoción:
INSERT INTO ecommerce.site_wide_promotion (discount) VALUES (.04), (.03);

Ahora, observa los valores de datos de la tabla de promoción.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
SELECT discount FROM ecommerce.site_wide_promotion

¿Cuántos registros se devolvieron?

Respuesta: 3

¿Qué ocurre cuando aplicas de nuevo el descuento en los 82 productos en liquidación?

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
SELECT DISTINCT productSKU, v2ProductCategory, discount FROM `data-to-insights.ecommerce.all_sessions_raw` AS website CROSS JOIN ecommerce.site_wide_promotion WHERE v2ProductCategory LIKE '%Clearance%'

¿Cuántos productos se devuelven?

Respuesta: En lugar de 82, ahora se devuelven 246, que es una cantidad mayor de registros que los que tenía la tabla original con la que comenzaste.

Investiguemos la causa subyacente examinando el SKU de un producto.

  1. Borra la consulta anterior y ejecuta la que se indica a continuación:
#standardSQL SELECT DISTINCT productSKU, v2ProductCategory, discount FROM `data-to-insights.ecommerce.all_sessions_raw` AS website CROSS JOIN ecommerce.site_wide_promotion WHERE v2ProductCategory LIKE '%Clearance%' AND productSKU = 'GGOEGOLC013299'

¿Cuál es el impacto de CROSS JOIN?

Respuesta: Ya que hay 3 códigos de descuento para unir de manera cruzada, estás multiplicando el conjunto de datos original por 3.

Nota: Este comportamiento no se limita a las uniones cruzadas. Con una unión normal, puedes realizar una unión cruzada por accidente cuando las relaciones entre los datos son de varios a varios. Esto puede traducirse fácilmente en que se devuelvan millones o incluso miles de millones de registros de manera accidental.

La solución es conocer las relaciones de tus datos antes de hacer la unión y no suponer que las claves son únicas.

Haz clic en Revisar mi progreso para verificar el objetivo.

Solución para el error de unión

¡Felicitaciones!

Completaste este lab y resolviste algunos errores graves de uniones SQL. Para ello, identificaste los registros duplicados y aprendiste cuándo usar cada tipo de UNIÓN. Buen trabajo.

Finaliza tu Quest

Este lab de autoaprendizaje forma parte de la Quest BigQuery for Data Warehousing. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completas esta Quest, obtendrás una insignia como reconocimiento por tu logro. Puedes hacer públicas tus insignias y agregar vínculos a ellas en tu currículum en línea o en tus cuentas de redes sociales. Inscríbete en esta Quest y obtén un crédito inmediato de finalización si realizaste este lab. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.

Realiza tu próximo lab

Continúa tu Quest con otro lab, por ejemplo Cómo trabajar con JSON, Arrays y Structs en BigQuery, o consulta estos labs:

Próximos pasos y más información

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 10 de mayo de 2023

Prueba más reciente del lab: 10 de mayo de 2023

Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.