Menggunakan data Salesforce Data Cloud di BigQuery

Pengguna Data Cloud dapat mengakses data Cloud Data secara native di BigQuery. Anda dapat menganalisis data Cloud Data dengan BigQuery Omni dan melakukan analisis lintas-cloud dengan data di Google Cloud. Dalam dokumen ini, kami memberikan petunjuk cara mengakses data Cloud Data dan beberapa tugas analisis yang dapat Anda lakukan dengan data tersebut di BigQuery.

Data Cloud dapat digunakan dengan BigQuery berdasarkan arsitektur berikut:

Arsitektur Cloud Data.

Sebelum memulai

Sebelum bekerja dengan data Cloud Data, Anda harus menjadi pengguna Cloud Data. Jika Anda mengaktifkan Kontrol Layanan VPC di project, Anda akan memerlukan izin tambahan.

Peran yang diperlukan

Peran dan izin berikut diperlukan:

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

Membagikan Data dari Cloud Data

Dokumentasi ini menunjukkan cara berbagi data dari Data Cloud ke BigQuery - Berbagi Data BYOL - Integrasi Zero-ETL dengan BigQuery.

Untuk mengakses set data Cloud Data di BigQuery, Anda harus terlebih dahulu menautkan set data tersebut ke BigQuery dengan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Klik Salesforce Data Cloud

    Set data Cloud Data ditampilkan. Anda dapat menemukan set data berdasarkan nama menggunakan pola penamaan berikut:

    listing_DATA_SHARE_NAME_TARGET_NAME
    
    Ganti kode berikut:

    • DATA_SHARE_NAME: nama berbagi data di Cloud Data.
    • TARGET_NAME: nama target BigQuery di Cloud Data.
  3. Klik {i>dataset<i} yang ingin Anda tambahkan ke BigQuery.

  4. Klik Add dataset to project.

  5. Tentukan nama set data yang ditautkan.

Setelah set data tertaut dibuat, Anda dapat menjelajahi set data dan tabel di dalamnya. Semua metadata tabel diambil dari Data Cloud secara dinamis. Semua objek di dalam set data adalah tampilan yang dipetakan ke objek Cloud Data. BigQuery mendukung tiga jenis objek Cloud Data:

  • Objek Data Lake (DLO)
  • Objek Model Data (DMO)
  • Objek Insight yang Dihitung (CIO)

Semua objek ini ditampilkan sebagai tampilan di BigQuery. Tampilan ini mengarah ke tabel tersembunyi yang disimpan di Amazon S3.

Menangani data Cloud Data

Contoh berikut menggunakan set data yang disebut Northwest Trail Outfitters (NTO) yang dihosting di Data Cloud. {i>Dataset<i} ini terdiri dari tiga tabel yang mewakili data penjualan online organisasi NTO:

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

Set data lain yang digunakan dalam contoh ini adalah data Tempat Penjualan offline. Laporan ini mencakup penjualan offline dan terdiri dari tiga tabel:

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

{i>Dataset<i} berikut menyimpan objek tambahan:

  • aws_data
  • us_data

Menjalankan kueri ad-hoc

Dengan BigQuery Omni, Anda dapat menjalankan kueri ad-hoc untuk menganalisis data Cloud Data melalui set data yang berlangganan. Contoh berikut menunjukkan kueri sederhana yang mengkueri tabel pelanggan dari Cloud Data.

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

Menjalankan kueri lintas-cloud

Kueri lintas-cloud memungkinkan Anda menggabungkan tabel apa pun di region BigQuery Omni dan tabel di region BigQuery. Untuk mengetahui informasi selengkapnya tentang kueri lintas-cloud, lihat postingan blog ini. Dalam contoh ini, kita mengambil total penjualan untuk pelanggan yang bernama 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 Data Lintas Cloud melalui CTAS

Anda dapat menggunakan Create Table As Select (CTAS) untuk memindahkan data dari tabel Data Cloud di region BigQuery Omni ke region 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

Tabel tujuan adalah tabel yang dikelola BigQuery di region US. Tabel ini dapat digabungkan dengan tabel lain. Operasi ini menimbulkan biaya traffic keluar AWS berdasarkan jumlah data yang ditransfer.

Setelah data dipindahkan, Anda tidak perlu lagi membayar biaya traffic keluar untuk kueri apa pun yang berjalan di tabel online_orders_march.

Tampilan terwujud lintas cloud

Cross Cloud Materialized View (CCMV) mentransfer data dari region BigQuery Omni ke region Omni BigQuery non-BigQuery secara bertahap. Siapkan CCMV baru yang mentransfer ringkasan total penjualan dari transaksi online dan replikasikan data tersebut ke region US.

Anda dapat mengakses CCMV dari Ads Data Hub dan menggabungkannya dengan data Ads Data Hub lainnya. Pada umumnya, CCMV berfungsi seperti Tabel Terkelola BigQuery biasa.

Membuat tampilan terwujud lokal

Untuk membuat tampilan terwujud lokal:

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

Mengizinkan tampilan terwujud

Anda harus mengizinkan penayangan terwujud untuk membuat CCMV. Anda dapat mengizinkan tampilan (aws_data.total_sales) atau set data (aws_data). Untuk mengizinkan tampilan terwujud:

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Buka set data sumber listing_nto_john.

  3. Klik Berbagi, lalu klik Otorisasi Set Data.

  4. Masukkan nama set data (dalam hal ini listing_nto_john), lalu klik Ok.

Membuat tampilan terwujud replika

Buat tampilan replika baru yang terwujud di region US. Tampilan terwujud secara berkala mereplikasi setiap kali ada perubahan data sumber untuk menjaga replikasi tetap terbaru.

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

Menjalankan kueri pada tampilan terwujud replika

Contoh berikut menjalankan kueri pada tampilan terwujud replika:

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