Hologres adalah mesin analitik interaktif real-time yang kompatibel dengan PostgreSQL dan terintegrasi secara mendalam dengan MaxCompute. Dengan membuat tabel eksternal di Hologres, Anda dapat menjalankan kueri SQL langsung terhadap data MaxCompute tanpa memindahkannya, lalu menghubungkan alat BI untuk memvisualisasikan hasilnya.
Tutorial ini memandu Anda melalui contoh lengkap menggunakan dataset toko Taobao: mengkueri data demografi pelanggan yang disimpan di MaxCompute dan menampilkan persona pelanggan di Quick BI.
Setelah menyelesaikan tutorial ini, Anda akan:
-
Membuat tabel eksternal di Hologres yang memetakan ke tabel MaxCompute
-
Menjalankan kueri SQL analitik terhadap lebih dari 12 juta catatan pelanggan
-
Menghubungkan Quick BI ke Hologres untuk menampilkan hasil kueri sebagai grafik interaktif
Batasan
Sebelum memulai, perhatikan batasan berikut:
-
Wilayah harus sama: Hologres tidak dapat mengkueri tabel MaxCompute yang berada di wilayah berbeda dari instans Hologres. Aktifkan kedua layanan di wilayah yang sama.
-
Pratinjau data bersifat parsial: Tab Data Preview hanya menampilkan sampel data dari tabel eksternal, bukan seluruh dataset.
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Mengaktifkan MaxCompute. Lihat Aktifkan MaxCompute dan DataWorks
-
Membeli instans Hologres dan menghubungkannya ke HoloWeb. Lihat Hubungkan ke HoloWeb dan jalankan kueri
-
Mengaktifkan Quick BI. Lihat Prasyarat
Cara kerja
-
Data kunjungan pelanggan disimpan di tabel MaxCompute.
-
Tabel eksternal dibuat di Hologres untuk mempercepat kueri terhadap data di MaxCompute.
-
Quick BI terhubung ke instans Hologres untuk menampilkan persona pelanggan dalam bentuk visualisasi.
Langkah 1: Siapkan sumber data MaxCompute
Tutorial ini menggunakan tabel-tabel berikut yang sudah ada di proyek MaxCompute public_data.
| Tabel MaxCompute | Jumlah entri data |
|---|---|
| customer | 12 juta |
| customer_address | 6 juta |
| customer_demographics | 1,92 juta |
Untuk menggunakan data Anda sendiri, buat tabel di MaxCompute dan impor data ke dalamnya. Lihat Buat tabel.
Langkah 2: Buat tabel eksternal di Hologres
Buat tabel eksternal di HoloWeb untuk memetakan ke tabel MaxCompute.
Buat tabel eksternal
-
Masuk ke konsol HoloWeb.
-
Pada bilah navigasi atas, pilih Metadata Management > MaxCompute Query Acceleration > Create Foreign Table.
-
Masukkan nama tabel MaxCompute yang akan dikueri, misalnya
public_data.customer. Bidang-bidang tabel akan ditampilkan. -
Pilih bidang yang akan disinkronkan, lalu klik Submit.
Untuk membuat beberapa tabel eksternal sekaligus, jalankan pernyataan SQL berikut di halaman Ad-hoc Query:
IMPORT FOREIGN SCHEMA public_data LIMIT to(
customer,
customer_address,
customer_demographics,
inventory,item,
date_dim,
warehouse)
FROM server odps_server INTO PUBLIC options(if_table_exist 'update');
Pratinjau data tabel eksternal
Pada panel Instance Management, klik kanan tabel eksternal dan pilih Open Table. Pada halaman detail tabel, klik Data Preview.
Kueri data
Pada halaman detail tabel, klik Query table. Di halaman Ad-hoc Query, masukkan pernyataan SQL di editor kode dan klik ikon Run.
Keempat kueri contoh berikut dijalankan terhadap tabel customer dan customer_address di proyek public_data.
-- SQL 1: Hitung jumlah pelanggan berdasarkan flag preferensi, diurutkan menurun
SELECT c_preferred_cust_flag,
count(*) AS cnt
FROM customer
WHERE c_preferred_cust_flag IS NOT NULL
GROUP BY c_preferred_cust_flag
ORDER BY cnt DESC LIMIT 10;
-- SQL 2: Hitung jumlah pelanggan berdasarkan tahun kelahiran (tahun dengan lebih dari 1.000 pelanggan)
SELECT c_birth_year,
count(*) AS cnt
FROM customer
WHERE c_birth_year IS NOT NULL
GROUP BY c_birth_year HAVING count(*) > 1000
ORDER BY cnt DESC LIMIT 10;
-- SQL 3: Hitung jumlah pelanggan berdasarkan kota (kota dengan lebih dari 10 pelanggan)
SELECT ca_city,
count(*) AS cnt
FROM customer ,
customer_address
WHERE c_current_addr_sk = ca_address_sk
AND ca_city IS NOT NULL
GROUP BY ca_city HAVING count(*) > 10
ORDER BY cnt DESC LIMIT 10;
-- SQL 4: Pelanggan preferensi yang lahir antara 1980 dan 1989, berdasarkan kota
SELECT ca_city,
count(*) AS cnt
FROM customer ,
customer_address
WHERE c_current_addr_sk = ca_address_sk
AND c_birth_year >= 1980
AND c_birth_year < 1990
AND c_preferred_cust_flag = 'Y'
AND ca_city IS NOT NULL
GROUP BY ca_city HAVING count(*) > 10
ORDER BY cnt DESC LIMIT 10;
Langkah 3: Visualisasikan hasil di Quick BI
Hubungkan Quick BI ke instans Hologres untuk menampilkan hasil kueri sebagai grafik.
-
Tambahkan sumber data. Masuk ke konsol Quick BI dan tambahkan Hologres sebagai sumber data PostgreSQL. Lihat Quick BI.
-
Buat set data. Setelah menghubungkan Quick BI ke Hologres, buat set data dan impor data yang diperlukan untuk menghasilkan laporan.
-
Tampilkan persona pelanggan. Bangun dan tampilkan laporan sesuai kebutuhan bisnis Anda.
Langkah berikutnya
-
Untuk membuat lebih banyak laporan, tambahkan tabel eksternal tambahan dari MaxCompute dan buat set data baru di Quick BI.
-
Untuk mempelajari lebih lanjut tentang sintaksis tabel eksternal yang digunakan dalam tutorial ini, lihat dokumentasi PostgreSQL postgres_fdw.