Trabaja con datos de Salesforce Data Cloud en BigQuery

Los usuarios de Data Cloud pueden acceder a sus datos de Data Cloud de forma nativa en BigQuery. Puedes analizar los datos de Data Cloud con BigQuery Omni y realizar estadísticas entre nubes con los datos en Google Cloud. En este documento, proporcionamos instrucciones para acceder a tus datos de Data Cloud y varias tareas analíticas que puedes realizar con esos datos en BigQuery.

Data Cloud funciona con BigQuery según la siguiente arquitectura:

Arquitectura de Data Cloud.

Antes de comenzar

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

Funciones obligatorias

Se requieren los siguientes roles y permisos:

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

Comparte datos desde Data Cloud

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

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

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

    Ir a BigQuery

  2. Haz clic en Salesforce Data Cloud

    Se muestran los conjuntos de datos de Data Cloud. 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 Cloud.
    • TARGET_NAME: el nombre del destino de BigQuery en Data Cloud.
  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 Cloud de forma dinámica. Todos los objetos dentro del conjunto de datos son vistas que se asignan a los objetos de Data Cloud. BigQuery es compatible con tres tipos de objetos de Data Cloud:

  • 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 Cloud

En los siguientes ejemplos, se usa un conjunto de datos llamado Northwest Trail Outfitters (NTO) alojado en Data Cloud. 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 tradicionales 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 Cloud 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 Cloud.

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

Ejecuta consultas entre nubes

Las consultas entre nubes 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 entre nubes, 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 entre nubes mediante CTAS

Puedes usar Create Table As Select (CTAS) para mover datos de las tablas de Data Cloud 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 entre nubes

Las vistas materializadas entre nubes (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 consola de Google Cloud, ve a la página de 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 Cloud con INFORMATION_SCHEMA

Los conjuntos de datos de Data Cloud admiten las vistas INFORMATION_SCHEMA de BigQuery. Los datos en las vistas INFORMATION_SCHEMA se sincronizan con regularidad desde Data Cloud 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 Cloud 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?