Trabalhe com dados do Salesforce Data Cloud no BigQuery

Os utilizadores do Data Cloud podem aceder aos respetivos dados do Data Cloud de forma nativa no BigQuery. Pode analisar os dados do Data Cloud com o BigQuery Omni e realizar análises em várias nuvens com os dados no Trusted Cloud by S3NS. Neste documento, fornecemos instruções sobre como aceder aos seus dados do Data Cloud e várias tarefas analíticas que pode realizar com esses dados no BigQuery.

O Data Cloud funciona com o BigQuery com base na seguinte arquitetura:

Arquitetura do Data Cloud.

Antes de começar

Antes de trabalhar com dados do Data Cloud, tem de ser um utilizador do Data Cloud. Se tiver os VPC Service Controls ativados no seu projeto, precisa de autorizações adicionais.

Funções necessárias

As seguintes funções e autorizações são necessárias:

  • Subscritor do Analytics Hub (roles/analyticshub.subscriber)
  • Administrador do BigQuery (roles/bigquery.admin)

Partilhe dados a partir do Data Cloud

Esta documentação demonstra como partilhar dados do Data Cloud para o BigQuery: partilhas de dados BYOL – integração sem ETL com o BigQuery.

Para aceder a um conjunto de dados do Data Cloud no BigQuery, tem de associar primeiro o conjunto de dados ao BigQuery através dos seguintes passos:

  1. Na Trusted Cloud consola, aceda à página do BigQuery.

    Aceda ao BigQuery

  2. Clique em Salesforce Data Cloud

    São apresentados os conjuntos de dados do Data Cloud. Pode encontrar o conjunto de dados pelo nome através do seguinte padrão de nomenclatura:

    listing_DATA_SHARE_NAME_TARGET_NAME
    
    Substitua o seguinte:

    • DATA_SHARE_NAME: o nome da partilha de dados no Data Cloud.
    • TARGET_NAME: o nome do destino do BigQuery no Data Cloud.
  3. Clique no conjunto de dados que quer adicionar ao BigQuery.

  4. Clique em Adicionar conjunto de dados ao projeto.

  5. Especifique o nome do conjunto de dados associado.

Depois de criar o conjunto de dados associado, pode explorar o conjunto de dados e as tabelas no mesmo. Todos os metadados das tabelas são obtidos dinamicamente a partir do Data Cloud. Todos os objetos no conjunto de dados são vistas que são mapeadas para os objetos do Data Cloud. O BigQuery suporta três tipos de objetos do Data Cloud:

  • Objetos de lago de dados (DLO)
  • Objetos do modelo de dados (DMO)
  • Objetos de estatísticas calculadas (CIO)

Todos estes objetos são representados como vistas no BigQuery. Estas vistas apontam para tabelas ocultas armazenadas no Amazon S3.

Trabalhe com dados do Data Cloud

Os exemplos seguintes usam um conjunto de dados denominado Northwest Trail Outfitters (NTO) que está alojado no Data Cloud. Este conjunto de dados consiste em três tabelas que representam os dados de vendas online da organização NTO:

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

O outro conjunto de dados usado nestes exemplos são dados de pontos de venda offline. Isto abrange as vendas offline e consiste em três tabelas:

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

Os seguintes conjuntos de dados armazenam objetos adicionais:

  • aws_data
  • us_data

Executar consultas ad hoc

Com o BigQuery Omni, pode executar consultas ad hoc para analisar os dados do Data Cloud através do conjunto de dados subscrito. O exemplo seguinte mostra uma consulta simples que consulta a tabela customers do Data Cloud.

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

Execute consultas em várias nuvens

As consultas entre nuvens permitem-lhe juntar qualquer uma das tabelas na região do BigQuery Omni e tabelas nas regiões do BigQuery. Para mais informações sobre as consultas em várias nuvens, consulte esta publicação no blogue. Neste exemplo, obtemos as vendas totais de um cliente com o nome 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);

Transferência de dados entre nuvens através do CTAS

Pode usar o comando Create Table As Select (CTAS) para mover dados de tabelas do Data Cloud na região do BigQuery Omni para a região 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

A tabela de destino é uma tabela gerida pelo BigQuery na região US. Pode juntar esta tabela a outras tabelas. Esta operação incorre em custos de saída da AWS com base na quantidade de dados transferidos.

Depois de os dados serem movidos, já não tem de pagar taxas de saída para nenhuma consulta executada na tabela online_orders_march.

Vistas materializadas entre nuvens

As vistas materializadas entre nuvens (CCMV) transferem dados de uma região do BigQuery Omni para uma região do BigQuery não Omni do BigQuery de forma incremental. Configure um novo CCMV que transfira um resumo das vendas totais de transações online e replique esses dados na região US.

Pode aceder aos CCMVs a partir do Ads Data Hub e juntá-los a outros dados do Ads Data Hub. Os CCMVs funcionam como tabelas geridas do BigQuery normais na maior parte dos casos.

Crie uma vista materializada local

Para criar uma vista materializada local:

-- 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;

Autorize a vista materializada

Tem de autorizar as vistas materializadas para criar uma CCMV. Pode autorizar a vista (aws_data.total_sales) ou o conjunto de dados (aws_data). Para autorizar a vista materializada:

  1. Na Trusted Cloud consola, aceda à página do BigQuery.

    Aceda ao BigQuery

  2. Abra o conjunto de dados de origem listing_nto_john.

  3. Clique em Partilha e, de seguida, em Autorizar conjuntos de dados.

  4. Introduza o nome do conjunto de dados (neste caso, listing_nto_john) e, de seguida, clique em OK.

Crie uma vista materializada de réplica

Crie uma nova vista materializada de réplica na região US. A vista materializada é replicada periodicamente sempre que existe uma alteração nos dados de origem para manter a réplica atualizada.

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

Execute uma consulta numa vista materializada de réplica

O exemplo seguinte executa uma consulta numa 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 dados do Data Cloud com o INFORMATION_SCHEMA

Os conjuntos de dados do Data Cloud suportam visualizações de propriedade do BigQuery.INFORMATION_SCHEMA Os dados nas vistas INFORMATION_SCHEMA são sincronizados regularmente a partir do Data Cloud e podem estar desatualizados. A coluna SYNC_STATUS nas vistas TABLES e SCHEMATA mostra a hora da última sincronização concluída, os erros que impedem o BigQuery de fornecer dados atualizados e os passos necessários para corrigir o erro.

As consultas INFORMATION_SCHEMA não refletem conjuntos de dados criados recentemente antes da sincronização inicial.

Os conjuntos de dados do Data Cloud estão sujeitos às mesmas limitações que outros conjuntos de dados associados, como só serem acessíveis no INFORMATION_SCHEMA em consultas ao nível do conjunto de dados.

O que se segue?