Menggunakan data Salesforce Data Cloud di BigQuery

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

Data Cloud berfungsi dengan BigQuery berdasarkan arsitektur berikut:

Arsitektur Data Cloud.

Sebelum memulai

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

Peran yang diperlukan

Peran dan izin berikut diperlukan:

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

Membagikan Data dari Cloud Data

Dokumentasi ini menunjukkan cara membagikan data dari Data Cloud ke BigQuery - BYOL Data Shares - Zero-ETL Integration with BigQuery.

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

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Klik Salesforce Data Cloud

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

    listing_DATA_SHARE_NAME_TARGET_NAME
    
    Ganti kode berikut:

    • DATA_SHARE_NAME: nama pembagian data di Data Cloud.
    • TARGET_NAME: nama target BigQuery di Cloud Data.
  3. Klik set data yang ingin Anda tambahkan ke BigQuery.

  4. Klik Tambahkan set data ke project.

  5. Tentukan nama set data tertaut.

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 Data Cloud. BigQuery mendukung tiga jenis objek Data Cloud:

  • Objek Data Lake (DLO)
  • Objek Model Data (DMO)
  • Calculated Insights Objects (CIO)

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

Menggunakan data Data Cloud

Contoh berikut menggunakan set data bernama Northwest Trail Outfitters (NTO) yang dihosting di Data Cloud. Set data 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. Ini mencakup penjualan offline, dan terdiri dari tiga tabel:

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

Set data berikut menyimpan objek tambahan:

  • aws_data
  • us_data

Menjalankan kueri ad hoc

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

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 wilayah BigQuery Omni dan tabel di wilayah BigQuery. Untuk informasi selengkapnya tentang kueri lintas cloud, lihat postingan blog ini. Dalam contoh ini, kita mengambil total penjualan untuk pelanggan 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 keluar untuk kueri apa pun yang berjalan di tabel online_orders_march.

Tampilan terwujud lintas cloud

Tampilan Materialisasi Lintas Cloud (CCMV) mentransfer data dari region BigQuery Omni ke region BigQuery non-BigQuery Omni secara bertahap. Siapkan CCMV baru yang mentransfer ringkasan total penjualan dari transaksi online dan mereplikasi data tersebut ke region US.

Anda dapat mengakses CCMV dari Ads Data Hub dan menggabungkannya dengan data Ads Data Hub lainnya. CCMV bertindak seperti Tabel Terkelola BigQuery reguler untuk sebagian besar kasus.

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;

Memberi otorisasi pada tampilan terwujud

Anda harus memberikan otorisasi pada tampilan 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 Sharing, lalu klik Authorize Datasets.

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

Membuat tampilan terwujud replika

Buat tampilan terwujud replika baru di region US. Tampilan yang diwujudkan direplikasi secara berkala setiap kali ada perubahan data sumber untuk menjaga replika 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

Menggunakan data Cloud Data dengan INFORMATION_SCHEMA

Set data Data Cloud mendukung tampilan INFORMATION_SCHEMA BigQuery. Data dalam tampilan INFORMATION_SCHEMA disinkronkan secara rutin dari Data Cloud dan mungkin sudah tidak relevan. Kolom SYNC_STATUS di tampilan TABLES dan SCHEMATA menampilkan waktu sinkronisasi terakhir yang selesai, error apa pun yang mencegah BigQuery menyediakan data baru, dan langkah-langkah yang diperlukan untuk memperbaiki error.

Kueri INFORMATION_SCHEMA tidak mencerminkan set data yang baru saja dibuat sebelum sinkronisasi awal.

Set data Data Cloud tunduk pada batasan yang sama seperti set data tertaut lainnya, seperti hanya dapat diakses di INFORMATION_SCHEMA dalam kueri cakupan set data.

Langkah selanjutnya