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:
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.
Menautkan set data Cloud Data ke BigQuery
Untuk mengakses set data Cloud Data di BigQuery, Anda harus terlebih dahulu menautkan set data tersebut ke BigQuery dengan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman BigQuery.
Klik Salesforce Data Cloud
Set data Cloud Data ditampilkan. Anda dapat menemukan set data berdasarkan nama menggunakan pola penamaan berikut:
Ganti kode berikut:listing_DATA_SHARE_NAME_TARGET_NAME
DATA_SHARE_NAME
: nama berbagi data di Cloud Data.TARGET_NAME
: nama target BigQuery di Cloud Data.
Klik {i>dataset<i} yang ingin Anda tambahkan ke BigQuery.
Klik Add dataset to project.
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:
Di konsol Google Cloud, buka halaman BigQuery.
Buka set data sumber
listing_nto_john
.Klik Berbagi, lalu klik Otorisasi Set Data.
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