Trabajar 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 datos de Data Cloud con BigQuery Omni y realizar analíticas entre nubes con los datos de Google Cloud. En este documento, se proporcionan instrucciones para acceder a los datos de Data Cloud y se describen varias tareas analíticas que puede realizar con esos datos en BigQuery.
Data Cloud funciona con BigQuery según la siguiente arquitectura:

Antes de empezar
Para trabajar con datos de Data Cloud, debes ser usuario de Data Cloud. Si tienes habilitado Controles de Servicio de VPC en tu proyecto, necesitarás permisos adicionales.
Roles obligatorios
Se necesitan los siguientes roles y permisos:
- Suscriptor de Analytics Hub (
roles/analyticshub.subscriber
) - Administrador de BigQuery (
roles/bigquery.admin
)
Compartir datos de Data Cloud
En esta documentación se explica cómo compartir datos de Data Cloud con BigQuery mediante la función Compartir datos con tu propia licencia: integración sin ETL con BigQuery.
Vincular un conjunto de datos de Data Cloud a BigQuery
Para acceder a un conjunto de datos de Data Cloud en BigQuery, primero debe vincularlo a BigQuery siguiendo estos pasos:
En la Google Cloud consola, ve a la página BigQuery.
Haga clic en Salesforce Data Cloud.
Se muestran los conjuntos de datos de Data Cloud. Puedes encontrar el conjunto de datos por su nombre con el siguiente patrón:
Sustituye lo siguiente:listing_DATA_SHARE_NAME_TARGET_NAME
DATA_SHARE_NAME
: nombre del recurso compartido de datos en Data Cloud.TARGET_NAME
: el nombre del destino de BigQuery en Data Cloud.
Haga clic en el conjunto de datos que quiera añadir a BigQuery.
Haz clic en Añadir conjunto de datos al proyecto.
Especifica el nombre del conjunto de datos vinculado.
Una vez que se haya creado el conjunto de datos vinculado, podrá explorar el conjunto de datos y las tablas que contiene. Todos los metadatos de las tablas se obtienen de forma dinámica de Data Cloud. Todos los objetos del conjunto de datos son vistas que se asignan a los objetos de Data Cloud. BigQuery admite tres tipos de objetos de Data Cloud:
- Objetos de lago de datos (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.
Trabajar con datos de Data Cloud
En los ejemplos siguientes se usa un conjunto de datos llamado Northwest Trail Outfitters (NTO) que está alojado en Data Cloud. Este conjunto de datos consta de tres tablas que representan los datos de ventas online de la organización 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 datos de puntos de venta offline. Esto incluye las ventas offline 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
Ejecutar consultas ad hoc
Con 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 sencilla que consulta la tabla de clientes de Data Cloud.
SELECT name__c, age__c FROM `listing_nto_john.nto_customers__dll` WHERE age > 40 LIMIT 1000;
Ejecutar consultas entre nubes
Las consultas entre nubes te permiten combinar cualquiera de las tablas de la región de BigQuery Omni con 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, obtenemos 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 la instrucción Create Table As Select (CTAS) para mover datos de 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 gestionada de BigQuery en la región US
. Esta tabla se puede combinar con otras tablas. Esta operación conlleva costes de salida de AWS en función de la cantidad de datos transferidos.
Una vez que se hayan movido los datos, ya no tendrás que pagar tarifas de salida por las consultas que se ejecuten en la tabla online_orders_march
.
Vistas materializadas entre nubes
Las vistas materializadas entre nubes (CCMV) transfieren datos de una región de BigQuery Omni a una región de BigQuery que no es de BigQuery Omni de forma incremental.
Configura un nuevo CCMV que transfiera un resumen de las ventas totales de las transacciones online y replique esos datos en la región US
.
Puedes acceder a las VCCMs desde el Centro de Datos de Anuncios y combinarlas con otros datos del Centro de Datos de Anuncios. Las Vistas Materializadas de Creación Continua se comportan como las tablas gestionadas de BigQuery normales en la mayoría de los casos.
Crear 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;
Autorizar la vista materializada
Debes autorizar las vistas materializadas para crear una vista materializada de creación de costes. Puedes autorizar la vista (aws_data.total_sales
) o el conjunto de datos (aws_data
). Para autorizar la vista materializada, sigue estos pasos:
En la Google Cloud consola, ve a la página BigQuery.
Abre el conjunto de datos de origen
listing_nto_john
.Haz clic en Compartir y, a continuación, en Autorizar conjuntos de datos.
Introduce el nombre del conjunto de datos (en este caso,
listing_nto_john
) y haz clic en Aceptar.
Crear una vista materializada de réplica
Crea una vista materializada de réplica en la región US
. La vista materializada se replica periódicamente cada vez que se produce 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`;
Ejecutar 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
Usar datos de Data Cloud con INFORMATION_SCHEMA
Los conjuntos de datos de Data Cloud admiten INFORMATION_SCHEMA
vistas de BigQuery. Los datos de las vistas de INFORMATION_SCHEMA
se sincronizan periódicamente desde Data Cloud y pueden estar obsoletos. La columna SYNC_STATUS
de las vistas TABLES
y SCHEMATA
muestra la hora de la última sincronización completada, los errores que impiden que BigQuery proporcione datos actualizados y los pasos necesarios para corregir el error.
Las consultas INFORMATION_SCHEMA
no reflejan los conjuntos de datos que se hayan creado 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 solo poder acceder a ellos en INFORMATION_SCHEMA
en consultas con ámbito de conjunto de datos.
Siguientes pasos
Consulta información sobre BigQuery Omni.
Consulta información sobre las combinaciones entre nubes.
Consulte información sobre las vistas materializadas.