Trabaja con datos de Salesforce Data 360 en BigQuery

En este documento, se describe cómo acceder a los datos de Salesforce Data 360 y analizarlos en BigQuery con BigQuery Omni. En el documento, se muestra cómo vincular tus conjuntos de datos de Data 360 en BigQuery para ejecutar consultas, unir datos con tablas en Google Cloud, y replicar datos con vistas materializadas de BigQuery Omni.

Este documento está destinado a los usuarios de Data 360 que desean usar BigQuery para realizar análisis detallados de sus datos de Data 360 o combinarlos con datos en Google Cloud para realizar análisis entre nubes, todo sin compilar ni mantener canalizaciones de extracción, transformación y carga (ETL).

Antes de comenzar

Antes de trabajar con datos de Data 360, debes ser usuario de Data 360. Si tienes habilitados los Controles del servicio de VPC en tu proyecto, necesitarás permisos adicionales.

Roles obligatorios

Se requieren los siguientes roles y permisos:

  • Suscriptor de Analytics Hub (roles/analyticshub.subscriber)
  • BigQuery Admin (roles/bigquery.admin)

Comparte datos desde Data 360

En esta documentación, se muestra cómo compartir datos de Data 360 a BigQuery: Recursos compartidos de datos de BYOL: Integración sin ETL con BigQuery.

Para acceder a un conjunto de datos de Data 360 en BigQuery, primero debes vincular el conjunto de datos a BigQuery con los siguientes pasos:

  1. En la Google Cloud consola de, ve a la página BigQuery.

    Ir a BigQuery

  2. Haz clic en Salesforce Data Cloud

    Se muestran los conjuntos de datos de Data 360. Puedes encontrar el conjunto de datos por nombre con el siguiente patrón de nomenclatura:

    listing_DATA_SHARE_NAME_TARGET_NAME
    
    Reemplaza lo siguiente:

    • DATA_SHARE_NAME: el nombre del recurso compartido de datos en Data 360.
    • TARGET_NAME: el nombre del destino de BigQuery en Data 360.
  3. Haz clic en el conjunto de datos que deseas agregar a BigQuery.

  4. Haz clic en Agregar conjunto de datos al proyecto.

  5. Especifica el nombre del conjunto de datos vinculado.

Una vez que se cree el conjunto de datos vinculado, podrás explorar el conjunto de datos y las tablas que contiene. Todos los metadatos de las tablas se recuperan de Data 360 de forma dinámica. Todos los objetos dentro del conjunto de datos son vistas que se asignan a los objetos de Data 360. BigQuery es compatible con tres tipos de objetos de Data 360:

  • Objetos de data lake (DLO)
  • Objetos de modelo de datos (DMO)
  • Objetos de estadísticas calculadas (CIO)

Todos estos objetos se representan como vistas en BigQuery. Estas vistas apuntan a tablas ocultas que se almacenan en Amazon S3.

Trabaja con datos de Data 360

En los siguientes ejemplos, se usa un conjunto de datos llamado Northwest Trail Outfitters (NTO) alojado en Data 360. Este conjunto de datos consta de tres tablas que representan los datos de las ventas en línea de la organización de NTO:

  • linked_nto_john.nto_customers__dll
  • linked_nto_john.nto_products__dll
  • linked_nto_john.nto_orders__dll

El otro conjunto de datos que se usa en estos ejemplos son los datos de punto de venta sin conexión. Esto abarca las ventas físicas y consta de tres tablas:

  • nto_pos.customers
  • nto_pos.products
  • nto_pos.orders

Los siguientes conjuntos de datos almacenan objetos adicionales:

  • aws_data
  • us_data

Ejecuta consultas ad-hoc

Mediante BigQuery Omni, puedes ejecutar consultas ad hoc para analizar los datos de Data 360 a través del conjunto de datos suscrito. En el siguiente ejemplo, se muestra una consulta simple que consulta la tabla de clientes desde Data 360.

SELECT name__c, age__c
  FROM `listing_nto_john.nto_customers__dll`
  WHERE age > 40
  LIMIT 1000;

Ejecuta consultas de BigQuery Omni

Las consultas de BigQuery Omni te permiten unir cualquiera de las tablas en la región de BigQuery Omni y las tablas de las regiones de BigQuery. Para obtener más información sobre las consultas de BigQuery Omni, consulta esta entrada de blog. En este ejemplo, recuperamos las ventas totales de un cliente llamado john.

-- Get combined sales for a customer from both offline and online sales
USING (
  SELECT total_price FROM `listing_nto_john.nto_orders__dll`
       WHERE customer_name = 'john'
  UNION ALL
  SELECT total_price FROM `listing_nto_john.nto_orders__dll`
       WHERE customer_name = 'john'
) a SELECT SUM(total_price);

Transferencia de datos de BigQuery Omni a través de CTAS

Puedes usar Create Table As Select (CTAS) para mover datos de las tablas de Data 360 en la región de BigQuery Omni a la región US.

-- Move all the orders for March to the US region
CREATE OR REPLACE TABLE us_data.online_orders_march
  AS SELECT * FROM listing_nto_john.nto_orders__dll
    WHERE EXTRACT(MONTH FROM order_time) = 3

La tabla de destino es una tabla administrada de BigQuery en la región US. Esta tabla se puede unir con otras tablas. Esta operación genera costos de salida de AWS según la cantidad de datos que se transfieran.

Una vez que se transfieren los datos, ya no es necesario pagar tarifas de salida por ninguna consulta que se ejecute en la tabla online_orders_march.

Vistas materializadas de BigQuery Omni

Las vistas materializadas de BigQuery Omni (CCMV) transfieren datos de forma incremental de una región de BigQuery Omni a una región de BigQuery que no es de BigQuery Omni. Configura una CCMV nueva que transfiera un resumen de las ventas totales de las transacciones en línea y replique esos datos en la región US.

Puedes acceder a las CCMV desde el Centro de Datos de Anuncios y unirlas con otros datos del Centro de Datos de Anuncios. Las CCMV actúan como tablas administradas de BigQuery normales en su mayoría.

Crea una vista materializada local

Para crear una vista materializada local, sigue estos pasos:

-- Create a local materialized view that keeps track of total sales by day

CREATE MATERIALIZED VIEW `aws_data.total_sales`
  OPTIONS (enable_refresh = true, refresh_interval_minutes = 60)
  AS SELECT EXTRACT(DAY FROM order_time) AS date, SUM(order_total) as sales
    FROM `listing_nto_john.nto_orders__dll`
    GROUP BY 1;

Autoriza la vista materializada

Debes autorizar vistas materializadas para crear una CCMV. Puedes autorizar la vista (aws_data.total_sales) o el conjunto de datos (aws_data). Para autorizar la vista materializada, sigue estos pasos:

  1. En la Google Cloud consola de, ve a la página BigQuery.

    Ir a BigQuery

  2. Abre el conjunto de datos de origen listing_nto_john.

  3. Haz clic en Compartir y, luego, en Autorizar conjuntos de datos.

  4. Ingresa el nombre del conjunto de datos (en este caso, listing_nto_john) y, luego, haz clic en Aceptar.

Crea una vista materializada de réplica

Crea una vista materializada de réplica nueva en la región US. La vista materializada se replica de forma periódica cada vez que hay un cambio en los datos de origen para mantener la réplica actualizada.

-- Create a replica MV in the us region.
CREATE MATERIALIZED VIEW `us_data.total_sales_replica`
  AS REPLICA OF `aws_data.total_sales`;

Ejecuta una consulta en una vista materializada de réplica

En el siguiente ejemplo, se ejecuta una consulta en una vista materializada de réplica:

-- Find total sales for the current month for the dashboard

SELECT EXTRACT(MONTH FROM CURRENT_DATE()) as month, SUM(sales)
  FROM us_data.total_sales_replica
  WHERE month = EXTRACT(MONTH FROM date)
  GROUP BY 1

Usa datos de Data 360 con INFORMATION_SCHEMA

Los conjuntos de datos de Data 360 admiten las vistas INFORMATION_SCHEMA de BigQuery. Los datos en las vistas INFORMATION_SCHEMA se sincronizan con regularidad desde Data 360 y pueden estar inactivos. En la columna SYNC_STATUS en las vistas TABLES y SCHEMATA, se muestra la última hora de sincronización completada, cualquier error que evita que BigQuery proporcione datos recientes y los pasos necesarios para corregir el error.

Las consultas INFORMATION_SCHEMA no reflejan los conjuntos de datos que se crearon recientemente antes de la sincronización inicial.

Los conjuntos de datos de Data 360 están sujetos a las mismas limitaciones que otros conjuntos de datos vinculados, como, por ejemplo, que solo se puede acceder a ellos en INFORMATION_SCHEMA en las consultas de alcance de conjunto de datos.

¿Qué sigue?