Topik ini menjelaskan cara membuat pemetaan metadata dan tugas sinkronisasi data untuk Hologres berdasarkan MaxCompute.
Latar Belakang
Dalam arsitektur gudang data tradisional, data real-time atau batch dari hulu ditulis ke gudang data dan dianalisis menggunakan mesin online analytical processing (OLAP), seperti yang ditunjukkan pada bagian atas gambar berikut. Namun, beberapa skenario mengharuskan Anda membaca data Hologres di MaxCompute, seperti yang ditunjukkan pada bagian bawah gambar tersebut. Contohnya meliputi:
Eksposur dan pengarsipan data real-time: Data harus segera diekspos dari sumber data real-time ke aplikasi bisnis. Setelah kebutuhan gudang data real-time terpenuhi, data tersebut diarsipkan ke lapisan dan bidang subjek yang sesuai dalam gudang data tingkat perusahaan.
Pendekatan berbasis bisnis dan aliran balik data: Kebutuhan bisnis dipenuhi terlebih dahulu tanpa pemrosesan terpadu melalui gudang data. Namun, setelah data mart stabil, data tersebut harus dialirkan kembali ke gudang data tingkat perusahaan dan diintegrasikan dengan lapisan DWD dan DWS.
Metode akses data untuk kedua skenario tersebut adalah sebagai berikut:
Menjelajahi data di gudang data real-time selama iterasi dan peningkatan model gudang data.
Mengarsipkan data secara berkala dari gudang data real-time atau data mart ke gudang data tingkat perusahaan.
Menulis data yang diproses oleh gudang data tingkat perusahaan ke lapisan ADS Hologres untuk konsumsi bisnis.

Pengenalan Fungsi
Tutorial ini menunjukkan cara membangun pipeline pemetaan metadata dari MaxCompute ke Hologres dengan fitur-fitur berikut:
Pemetaan metadata tingkat skema: Anda dapat menggunakan autentikasi peran RAM untuk membaca metadata dan data Hologres secara real-time melalui skema eksternal guna akses data tingkat skema.
Pemetaan metadata tingkat tabel tunggal: Anda dapat memilih tabel dalam katalog data Hologres dan sistem akan secara otomatis membuat tabel eksternal MaxCompute yang memetakan ke tabel Hologres tersebut hanya dengan satu klik.
Sinkronisasi data: Anda dapat mengonfigurasi tabel yang memerlukan sinkronisasi berulang sebagai tugas sinkronisasi data hanya dengan satu klik. Hal ini memenuhi kebutuhan sinkronisasi data secara berkala ke gudang data tingkat perusahaan.
Pemetaan tipe data antara MaxCompute dan Hologres berbeda. Beberapa tipe data Hologres tidak dapat disinkronkan ke MaxCompute. Untuk informasi lebih lanjut, lihat Pemetaan tipe data antara MaxCompute dan Hologres.
Alur kerja sinkronisasi data
Tutorial ini didasarkan pada gudang data real-time yang dibangun menggunakan Flink dan Hologres. Di lapisan DWD gudang data real-time Hologres, proses ditambahkan untuk memetakan skema dan tabel MaxCompute ke Hologres serta menyinkronkan data dari tabel-tabel di lapisan DWD. Gambar berikut menunjukkan detail proses ini.
Didukung:
Pemetaan ke skema Hologres menggunakan skema eksternal.
Pemetaan ke tabel Hologres menggunakan tabel eksternal.
Menentukan tabel Hologres untuk sinkronisasi data satu kali atau berulang.
Prosedur
Prasyarat
Anda telah membuat proyek MaxCompute dan mengaktifkan dukungan untuk hierarki tingkat skema.
Anda telah membuat peran RAM dan mengonfigurasi kebijakan kepercayaan.
Anda telah mengaktifkan RDS.
Anda telah mengaktifkan Hologres.
Anda telah mengaktifkan Flink.
Langkah 1: Buat instans ApsaraDB RDS for MySQL dan siapkan sumber data
Instans ApsaraDB RDS for MySQL, instans Hologres, dan instans Flink harus berada di wilayah yang sama, zona yang sama, dan menggunakan VPC yang sama.
Di Konsol Realtime Compute, Anda dapat menggunakan fitur probing jaringan untuk memeriksa konektivitas jaringan antara ruang kerja Flink Anda dengan instans RDS for MySQL dan Hologres. Untuk informasi lebih lanjut, lihat Cara Melakukan Network Probing.
Login ke Konsol RDS.
Di panel navigasi di sebelah kiri, klik Instances. Kemudian, pilih sebuah Wilayah di pojok kiri atas.
Di halaman Instances, klik Create Instance.
Dalam contoh ini, Billing Method diatur ke pay-as-you-go, dan Database Engine diatur ke MySQL 8.0.
Di halaman Instances, klik Instance ID/Name pada instans target untuk membuka halaman detailnya.
Di panel navigasi sebelah kiri, klik Accounts > .
Buat akun login database.
Di panel navigasi sebelah kiri, klik Databases.
Klik Create Database. Konfigurasikan parameter berikut:
Parameter
Wajib
Deskripsi
Contoh
Database Name
Wajib
Panjang: 2–64 karakter.
Harus dimulai dengan huruf dan diakhiri dengan huruf atau angka.
Hanya boleh berisi huruf kecil, angka, garis bawah (_), atau tanda hubung (-).
Harus unik dalam instans.
Jika nama database berisi
-, maka-dalam nama folder database yang dibuat akan dikonversi menjadi@002d.
hologres_testAuthorized by
Opsional
Hanya akun standar yang muncul di sini. Akun istimewa memiliki izin penuh pada semua database dan tidak memerlukan otorisasi.
Pilih akun login yang baru saja Anda buat.Klik Log On to Database. Di panel navigasi sebelah kiri, pilih Database Instances. Klik dua kali database yang telah Anda buat. Di halaman SQLConsole, jalankan pernyataan berikut untuk membuat tabel uji dan menulis data uji.
CREATE TABLE `orders` ( order_id bigint not null primary key, user_id varchar(50) not null, shop_id bigint not null, product_id bigint not null, buy_fee numeric(20,2) not null, create_time timestamp not null, update_time timestamp not null default now(), state int not null ); CREATE TABLE `orders_pay` ( pay_id bigint not null primary key, order_id bigint not null, pay_platform int not null, create_time timestamp not null ); CREATE TABLE `product_catalog` ( product_id bigint not null primary key, catalog_name varchar(50) not null ); -- Siapkan data. INSERT INTO product_catalog VALUES(1, 'phone_aaa'),(2, 'phone_bbb'),(3, 'phone_ccc'),(4, 'phone_ddd'),(5, 'phone_eee'); INSERT INTO orders VALUES (100001, 'user_001', 12345, 1, 5000.05, '2023-02-15 16:40:56', '2023-02-15 18:42:56', 1), (100002, 'user_002', 12346, 2, 4000.04, '2023-02-15 15:40:56', '2023-02-15 18:42:56', 1), (100003, 'user_003', 12347, 3, 3000.03, '2023-02-15 14:40:56', '2023-02-15 18:42:56', 1), (100004, 'user_001', 12347, 4, 2000.02, '2023-02-15 13:40:56', '2023-02-15 18:42:56', 1), (100005, 'user_002', 12348, 5, 1000.01, '2023-02-15 12:40:56', '2023-02-15 18:42:56', 1), (100006, 'user_001', 12348, 1, 1000.01, '2023-02-15 11:40:56', '2023-02-15 18:42:56', 1), (100007, 'user_003', 12347, 4, 2000.02, '2023-02-15 10:40:56', '2023-02-15 18:42:56', 1); INSERT INTO orders_pay VALUES (2001, 100001, 1, '2023-02-15 17:40:56'), (2002, 100002, 1, '2023-02-15 17:40:56'), (2003, 100003, 0, '2023-02-15 17:40:56'), (2004, 100004, 0, '2023-02-15 17:40:56'), (2005, 100005, 0, '2023-02-15 18:40:56'), (2006, 100006, 0, '2023-02-15 18:40:56'), (2007, 100007, 0, '2023-02-15 18:40:56');
Langkah 2: Buat instans Hologres dan database
Login ke Konsol Manajemen Hologres, lalu pilih wilayah di pojok kiri atas.
Jika Anda belum memiliki instans, pertama-tama beli instans Hologres.
Untuk Product Type, pilih Exclusive Instance (pay-as-you-go).
Untuk Specifications, pilih Compute Group Type.
Reserved Computing Resources of Virtual Warehouse: Pilih 64 CUs
Di halaman Instances, klik nama instance target.
Di halaman detail instans, klik Connect to Instance.
Klik tab Metadata Management di atas.
Klik Create Database. Di kotak dialog yang muncul, masukkan Database Name dan pertahankan pengaturan default untuk parameter lainnya.
Dalam contoh ini, database Hologres diberi nama
holodb.Klik tab Security Center di atas.
Di panel navigasi sebelah kiri, pilih User Management.
Berikan izin
SuperUserkepada peranAliyunODPSDefaultRoleuntuk memastikan peran tersebut memiliki izin operasi tabel untuk Hologres. Untuk informasi lebih lanjut, lihat Manajemen Pengguna.Berikan izin Developer kepada peran RAM untuk instans tersebut. Ini hanya didukung dalam mode SPM. Untuk informasi lebih lanjut, lihat Manajemen DB.
Langkah 3: Buat tugas sinkronisasi seluruh database untuk ApsaraDB RDS for MySQL di Flink (lapisan ODS)
Buat tugas sinkronisasi seluruh database RDS for MySQL di Flink untuk menyinkronkan data dari RDS for MySQL ke skema
publicdatabase Hologresholodb. Anda kemudian dapat menggunakan kelompok komputasi defaultinit_warehousedi Hologres untuk mengkueri data ODS.Anda harus mengaktifkan binary logging untuk MySQL terlebih dahulu. Anda dapat menjalankan perintah
show variables like "log_bin";di database RDS for MySQL untuk memeriksa apakah binary logging sudah diaktifkan. Untuk informasi lebih lanjut, lihat Persyaratan Konfigurasi Server MySQL.Buat kluster sesi.
Masuk ke Flink console, lalu pilih wilayah di pojok kiri atas.
Klik nama ruang kerja target. Di panel navigasi sebelah kiri, pilih .
Klik Create Session Cluster.
Buat katalog Hologres.
Klik nama ruang kerja target. Di panel navigasi sebelah kiri, pilih Catalogs .
Di halaman Catalog List, klik Create Catalog. Di kotak dialog Create Catalog, pilih Hologres, klik Next, lalu konfigurasikan parameter berikut:
Parameter
Wajib
Deskripsi
catalog name
Wajib
Anda dapat menyesuaikan nama katalog MySQL.
endpoint
Wajib
Anda dapat memperoleh endpoint untuk Select VPC dari bagian Network Information di halaman detail instans Hologres:
hg****cn-cn-2****f-cn-shenzhen-vpc-st.hologres.aliyuncs.com:80.dbname
Wajib
Nama database Hologres.
username
Wajib
ID AccessKey.
password
Wajib
Rahasia AccessKey.
Buat katalog MySQL.
Di halaman Catalog List, klik Create Catalog. Pada kotak dialog Create Catalog, pilih MySQL, lalu klik Next dan konfigurasikan parameter berikut:
Parameter
Required
Description
catalog name
Required
Nama kustom untuk MySQL Catalog.
hostname
Required
Alamat IP atau hostname dari database MySQL.
Anda dapat login ke RDS MySQL console, lalu pada halaman detail instansiasi basis data, klik Database Connection untuk melihat Internal Endpoint, Public Endpoint, dan Internal Port.
Anda harus menyiapkan konektivitas jaringan untuk akses cross-VPC atau Internet. Untuk informasi selengkapnya, lihat Network Connectivity.
port
Default
Port yang digunakan untuk menghubung ke server. Nilai default-nya adalah 3306.
default database
Required
Nama database default.
username
Required
Username yang digunakan untuk menghubung ke server database MySQL. Login ke ApsaraDB RDS for MySQL console. Pada halaman detail instansiasi basis data, klik Accounts untuk melihat username tersebut.
password
Required
Password yang digunakan untuk menghubung ke server database MySQL. Anda dapat login ke ApsaraDB RDS for MySQL console. Pada halaman detail instansiasi basis data, klik Accounts untuk melihat password tersebut.
Sinkronkan data dari ApsaraDB RDS for MySQL ke Hologres menggunakan Flink.
Klik nama ruang kerja target, lalu pada panel navigasi sebelah kiri, pilih .
Di tab Drafts, klik
untuk membuat folder baru.Klik kanan folder tersebut, lalu pilih New Blank Stream Draft. Pada kotak dialog New Draft, masukkan Name dan pilih Engine Version.
CREATE DATABASE IF NOT EXISTS <your hologres catalog>.<hologres database name> -- Parameter table_property.binlog.level telah diatur saat katalog dibuat. Oleh karena itu, binary logging diaktifkan untuk semua tabel yang dibuat menggunakan CDAS. AS DATABASE <your mysql catalog>.<mysql database name> INCLUDING all tables -- Anda dapat memilih tabel dari database hulu yang ingin Anda masukkan ke gudang data. /*+ OPTIONS('server-id'='8001-8004') */ ; -- Tentukan rentang server-id untuk instance MySQL CDC.Klik Deploy di pojok kanan atas.
Di halaman Deployments, klik nama pekerjaan target untuk membuka halaman Configuration-nya.
Di pojok kanan atas halaman detail deployment untuk pekerjaan target, klik Start, pilih Initial Mode, lalu klik Start.
CatatanSecara default, contoh ini menyinkronkan data ke skema public database Hologres. Anda juga dapat menyinkronkan data ke skema tertentu di database Hologres tujuan. Untuk informasi lebih lanjut, lihat Gunakan sebagai katalog tujuan untuk CDAS. Setelah Anda menentukan skema, format nama tabel juga berubah saat Anda menggunakan katalog tersebut. Untuk informasi lebih lanjut, lihat Gunakan katalog Hologres.
Jika struktur data tabel sumber berubah, Anda harus menunggu perubahan data, seperti penghapusan, penyisipan, atau pembaruan, terjadi di tabel sumber sebelum perubahan struktural tersebut terlihat di tabel sink.
Langkah 4: Muat data ke Hologres
Kelompok tabel menyimpan data di Hologres.
Untuk mengkueri data dari Kelompok Tabel di database holodb (misalnya order_dw_tg_default) menggunakan kelompok komputasi init_warehouse, Anda harus terlebih dahulu memuat Kelompok Tabel ke dalam kelompok komputasi tersebut. Baru setelah itu Anda dapat menggunakan kelompok komputasi init_warehouse untuk mengkueri dan menulis data.
Di halaman pengembangan HoloWeb, klik SQL Editor, konfirmasi nama instans dan nama database, lalu jalankan perintah berikut.
Untuk informasi lebih lanjut, lihat Buat Instans Virtual Warehouse Baru.
Login ke Konsol Manajemen Hologres, lalu pilih wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih Instances.
Di halaman Instances, klik nama instans target.
Di halaman detail instans, klik Connect to Instance.
Klik tab SQL Editor di atas.
Konfirmasi nama instans dan database, lalu jalankan perintah berikut. Setelah data dimuat, Anda dapat melihat bahwa kelompok komputasi telah memuat data dari kelompok tabel
holodb_tg_default.-- Lihat kelompok tabel di database saat ini. SELECT tablegroup_name FROM hologres.hg_table_group_properties GROUP BY tablegroup_name; -- Muat kelompok tabel ke kelompok komputasi. CALL hg_table_group_load_to_warehouse ('<hologres database name>.<table group name>', '<your Virtual Warehouse name>', 1); -- Lihat status pemuatan kelompok tabel ke kelompok komputasi. SELECT * FROM hologres.hg_warehouse_table_groups;Jalankan perintah berikut untuk melihat data di ketiga tabel yang telah disinkronkan dari MySQL ke Hologres.
---Kueri data di tabel orders. SELECT * FROM orders; ---Kueri data di tabel orders_pay. SELECT * FROM orders_pay; ---Kueri data di tabel product_catalog. SELECT * FROM product_catalog;
Langkah 5: Buat tabel lapisan DWD di Flink
Kemampuan memperbarui kolom tertentu yang didukung oleh konektor Hologres digunakan untuk membangun lapisan DWD. Anda dapat menggunakan pernyataan INSERT untuk melakukan pembaruan parsial yang efisien. Kueri titik berkinerja tinggi berdasarkan penyimpanan data berorientasi kolom dan penyimpanan data hybrid baris-kolom Hologres membantu Anda mengkueri data dari berbagai tabel dimensi. Hologres menggunakan arsitektur isolasi resource yang kuat, yang mencegah gangguan antara beban kerja tulis, baca, dan analitik.
Gunakan fitur Katalog Flink untuk membuat tabel lebar dwd_orders di lapisan DWD Hologres.
Login ke Konsol Flink, lalu pilih wilayah di pojok kiri atas.
Klik nama ruang kerja target, lalu pada panel navigasi sebelah kiri, pilih .
Di tab New Script, Anda dapat mengklik
untuk membuat skrip kueri baru.Setelah memasukkan kode berikut, klik Run di pojok kanan atas.
-- Kolom tabel lebar harus nullable karena stream berbeda menulis ke tabel hasil yang sama, dan setiap kolom mungkin berisi nilai NULL. CREATE TABLE <hologres catalog>.<hologres database>.dwd_orders ( order_id bigint not null, order_user_id string, order_shop_id bigint, order_product_id bigint, order_product_catalog_name string, order_fee numeric(20,2), order_create_time timestamp, order_update_time timestamp, order_state int, pay_id bigint, pay_platform int comment 'platform 0: phone, 1: pc', pay_create_time timestamp, PRIMARY KEY(order_id) NOT ENFORCED ); -- Ubah properti tabel fisik Hologres melalui katalog. ALTER TABLE <hologres catalog>.<hologres database>.dwd_orders SET ( 'table_property.binlog.ttl' = '604800' -- Atur timeout binlog menjadi satu minggu. );Konsumsi binlog dari tabel
ordersdanorders_paydi lapisan Operational Data Store (ODS) secara real-time.Klik nama ruang kerja target, lalu pada panel navigasi sebelah kiri, pilih .
Buat pekerjaan stream SQL bernama DWD. Salin kode berikut ke editor SQL, lalu deploy dan mulai pekerjaan tersebut. Tabel
ordersdi-join dengan tabel dimensiproduct_catalog, dan hasilnya ditulis ke tabeldwd_ordersuntuk pengayaan data real-time.BEGIN STATEMENT SET; INSERT INTO <your hologres catalog name>.<your hologres database name>.dwd_orders ( order_id, order_user_id, order_shop_id, order_product_id, order_fee, order_create_time, order_update_time, order_state, order_product_catalog_name ) SELECT o.*, dim.catalog_name FROM <your hologres catalog name>.<your hologres database name>.orders as o LEFT JOIN <your hologres catalog name>.<your hologres database name>.product_catalog FOR SYSTEM_TIME AS OF proctime() AS dim ON o.product_id = dim.product_id; INSERT INTO <your hologres catalog name>.<your hologres database name>.dwd_orders (pay_id, order_id, pay_platform, pay_create_time) SELECT * FROM <your hologres catalog name>.<your hologres database name>.orders_pay; END;Lihat data di tabel lebar
dwd_orders.Hubungkan ke instans Hologres, login ke database target di halaman pengembang HoloWeb, lalu jalankan perintah berikut di editor SQL.
SELECT * FROM dwd_orders;Hasil berikut dikembalikan:
+------------+---------------+---------------+------------------+----------------------------+------------+-------------------+-------------------+-------------+------------+--------------+-----------------+ | order_id | order_user_id | order_shop_id | order_product_id | order_product_catalog_name | order_fee | order_create_time | order_update_time | order_state | pay_id | pay_platform | pay_create_time | +------------+---------------+---------------+------------------+----------------------------+------------+-------------------+-------------------+-------------+------------+--------------+-----------------+ | 100002 | user_002 | 12346 | 2 | phone_bbb | 4000.04 | 2023-02-15 15:40:56 | 2023-02-15 18:42:56 | 1 | NULL | NULL | NULL | | 100004 | user_001 | 12347 | 4 | phone_ddd | 2000.02 | 2023-02-15 13:40:56 | 2023-02-15 18:42:56 | 1 | NULL | NULL | NULL | | 11111 | user_test | 12346 | 2 | phone_bbb | 4000.04 | 2025-12-15 00:00:00 | 2025-12-15 00:00:00 | 1 | NULL | NULL | NULL | | 100001 | user_001 | 12345 | 1 | phone_aaa | 5000.05 | 2023-02-15 16:40:56 | 2023-02-15 18:42:56 | 1 | NULL | NULL | NULL | | 100007 | user_003 | 12347 | 4 | phone_ddd | 2000.02 | 2023-02-15 10:40:56 | 2023-02-15 18:42:56 | 1 | NULL | NULL | NULL | | 100006 | user_001 | 12348 | 1 | phone_aaa | 1000.01 | 2023-02-15 11:40:56 | 2023-02-15 18:42:56 | 1 | NULL | NULL | NULL | | 100005 | user_002 | 12348 | 5 | phone_eee | 1000.01 | 2023-02-15 12:40:56 | 2023-02-15 18:42:56 | 1 | NULL | NULL | NULL | | 100003 | user_003 | 12347 | 3 | phone_ccc | 3000.03 | 2023-02-15 14:40:56 | 2023-02-15 18:42:56 | 1 | NULL | NULL | NULL | +------------+---------------+---------------+------------------+----------------------------+------------+-------------------+-------------------+-------------+------------+--------------+-----------------+
Bind proyek MaxCompute dan instans Hologres di DataWorks.
Kembali ke MaxCompute untuk membuat skema eksternal.
Langkah 6: Bind resource komputasi MaxCompute dan Hologres di DataWorks
Login ke Konsol DataWorks dan pilih wilayah di pojok kiri atas.
Buat ruang kerja DataWorks. Dalam tutorial ini, ruang kerja diberi nama
Hologres_DW_TEST.Di halaman Workspaces, klik nama ruang kerja target.
Di halaman Workspace Details, klik Computing Resource di panel navigasi sebelah kiri.
Di halaman Computing Resource, klik Associate Compute Resource, lalu pilih MaxCompute dan Hologres.
Masukkan informasi dasar. Untuk informasi lebih lanjut, lihat Bind compute resources.
Tambahkan dan lihat proyek MaxCompute serta instans Hologres.
Di panel navigasi sebelah kiri, pilih .
Pada bagian Select Workspace, klik Go To DataStudio.
Tambahkan dan lihat proyek MaxCompute serta instans Hologres.
Saat Anda menambahkan katalog Hologres di Data Catalog, metode yang Anda gunakan menentukan perilaku yang dihasilkan. Tabel berikut menjelaskan perilaku yang terkait dengan setiap metode:
Metode menambahkan katalog Hologres
Skenario yang berlaku
Deskripsi
Tambahkan menggunakan pola Data Source DataWorks
Cocok untuk skenario Data Integration.
Misalnya, Anda dapat menyinkronkan data secara berkala dari tabel tertentu di Hologres ke MaxCompute.
Database tertentu ditentukan sebagai sumber data DataWorks, yang membawa identitas pelaksana. Anda tidak dapat mengkueri database lain tanpa izin.
Jika Anda mengikat resource komputasi Hologres setelah membuat ruang kerja DataWorks, katalog Hologres ditambahkan ke Data Catalog dalam mode Data Source DataWorks secara default.
Tambahkan menggunakan pola Hologres - Instance
Cocok untuk skenario yang memerlukan penjelajahan data lintas database.
Anda dapat menggunakan identitas yang dibawa oleh resource komputasi untuk melihat database yang memiliki izin. Metode ini memfasilitasi penjelajahan data lintas database.
Anda dapat membuat tugas pemetaan metadata, tetapi tidak dapat membuat tugas sinkronisasi.
Arahkan kursor ke nama proyek MaxCompute atau nama instans Hologres untuk melihat detail tentang sumber data atau instans tersebut.
Mode sumber data

Mode Hologres - Instance

Langkah 7: Buat skema eksternal MaxCompute yang memetakan ke skema Hologres
Saat Anda memetakan tabel Hologres menggunakan skema eksternal, Anda tidak perlu membuat tabel yang berisi metadata Data Definition Language (DDL) di MaxCompute. Perubahan pada struktur tabel sumber Hologres atau data akan terdeteksi dan dapat dikueri secara real-time di MaxCompute.
Login ke Konsol MaxCompute, lalu pilih wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih .
Di halaman External Data Source, klik Create External Data Source.
Di kotak dialog Create External Data Source, konfigurasikan parameter. Tabel berikut menjelaskan parameter tersebut.
Parameter
Wajib
Deskripsi
External Data Source Type
Wajib
Pilih Hologres.
External Data Source Name
Wajib
Sesuaikan nama. Aturan penamaan:
Harus dimulai dengan huruf dan hanya berisi huruf kecil, garis bawah (_), dan angka.
Panjang maksimum: 128 karakter.
Misalnya,
holo_external_source.Description
Opsional
Masukkan sesuai kebutuhan.
Connection Method
Wajib
Default adalah classic network access (internal network).
InstanceID
Wajib
Pilih instans Hologres yang ingin Anda hubungkan di wilayah saat ini.
Host
Wajib
Dihasilkan secara otomatis oleh sistem.
Port
Wajib
Dihasilkan secara otomatis oleh sistem.
DBNAME
Wajib
Nama database Hologres yang akan dihubungkan.
Authentication And Authorization
Wajib
RAM Role
Task executor: Sumber data eksternal untuk proyek eksternal Hologres harus dikonfigurasi untuk menggunakan mode autentikasi Task executor.
RoleARN
Wajib
ARN peran RAM.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di bagian Basic Information, Anda dapat menemukan ARN.
Contoh:
acs:ram::124****:role/aliyunodpsdefaultrole.Service-linked Role
Wajib
Jika Anda memilih Task executor, Service-linked Role adalah
acs:ram::124****:role/aliyunserviceroleformaxcomputeidentitymgmt.Foreign Server Supplemental Properties
Opsional
Atribut tambahan untuk sumber data eksternal. Setelah Anda menentukannya, pekerjaan yang menggunakan sumber data eksternal ini akan mengakses sistem sumber sesuai dengan perilaku yang ditentukan.
CatatanUntuk parameter yang didukung, lihat pembaruan mendatang pada dokumentasi resmi. Parameter akan dirilis secara bertahap seiring evolusi kemampuan produk.
Langkah 8: Petakan instans Hologres dan skema MaxCompute di DataWorks
Login ke Konsol DataWorks dan pilih wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih .
Pada bagian Select Workspace, klik Go To DataStudio.
Di halaman DataStudio, klik ikon
di panel navigasi sebelah kiri untuk membuka Data CATALOG.Perluas katalog data Hologres, klik kanan skema instans target (dalam tutorial ini,
public), lalu pilih Metadata Mapping to MaxCompute.Di halaman Metadata Mapping to MaxCompute, konfigurasikan parameter untuk sumber Hologres dan target MaxCompute.
Konfigurasi parameter utama dalam tutorial ini adalah sebagai berikut. Anda dapat mempertahankan nilai default untuk parameter lainnya.
Nama Parameter
Deskripsi
Project Search Method
Pilih From DataWorks Data Source.
Data Source
Pilih nama resource komputasi MaxCompute yang diikat ke DataWorks.
External Schema Name
Tentukan nama skema eksternal di MaxCompute tempat metadata dari skema Hologres sumber dipetakan.
Dalam tutorial ini, dikonfigurasi sebagai
public.External Data Source
Pilih nama sumber data federasi Hologres yang dibuat di MaxCompute.
Dalam tutorial ini,
holo_external_source.Klik Run di pojok kiri atas halaman.
Setelah tugas dijalankan, skema eksternal MaxCompute yang memiliki nama yang sama dengan skema Hologres (public) dibuat.
Anda dapat menjelajahi tabel di Hologres dan mengkueri data di MaxCompute dengan menjalankan perintah SQL berikut.
SET odps.namespace.schema=true; SELECT * FROM public.dwd_orders;
Jika pemetaan tingkat skema berhasil tetapi nama tabel yang dipetakan tidak ditampilkan di folder MaxCompute di Data Catalog dan kueri gagal, konfirmasikan bahwa izin peran RAM dikonfigurasi dengan benar. Untuk informasi lebih lanjut, lihat Tabel eksternal Hologres.
Berbeda dengan skema eksternal, tabel eksternal mengharuskan Anda membuat tabel Hologres sebagai tabel eksternal di MaxCompute. Tabel eksternal mendukung dua metode autentikasi: peran RAM dan dual signature.
Peran RAM: Mendukung asumsi peran lintas akun. Anda harus menyelesaikan operasi berikut di sisi Hologres:
Tambahkan peran RAM sebagai pengguna ke instans Hologres. Untuk informasi lebih lanjut, lihat Manajemen pengguna.
Berikan izin Developer untuk instans kepada peran RAM. Ini hanya didukung dalam mode SPM. Untuk informasi lebih lanjut, lihat Kelola database.
Dual signature: Metode ini menggunakan identitas pelaksana tugas saat ini untuk autentikasi. Artinya, pengguna saat ini dapat mengakses data Hologres melalui tabel eksternal MaxCompute menggunakan identitas yang sama yang memiliki izin untuk tabel di Hologres. Untuk informasi lebih lanjut, lihat Tabel eksternal Hologres.
Langkah 9: Buat tabel eksternal MaxCompute yang memetakan ke tabel Hologres
Anda dapat memetakan beberapa atau semua field. Untuk informasi lebih lanjut tentang aturan pemetaan, lihat bagian parameter tblproperties di Tabel eksternal Hologres.
Login ke Konsol DataWorks dan pilih wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih .
Pada bagian Select Workspace, klik Go To DataStudio.
Di halaman DataStudio, klik ikon
di panel navigasi sebelah kiri untuk membuka Data CATALOG.Perluas katalog data Hologres, klik kanan tabel
dwd_ordersdi skemapublicinstans target, lalu pilih Metadata Mapping to MaxCompute.Di halaman Metadata Mapping to MaxCompute, konfigurasikan parameter untuk sumber Hologres dan tujuan MaxCompute.
Pengaturan parameter utama untuk tutorial ini adalah sebagai berikut. Anda dapat menggunakan nilai default untuk parameter lainnya. Untuk informasi lebih lanjut tentang parameter, lihat Pemetaan metadata tingkat tabel.
Nama Parameter
Deskripsi
Instance Search Method
Pilih From DataWorks Data Source.
Data Source
Pilih nama sumber data MaxCompute yang diikat ke DataWorks.
Schema
Tentukan nama skema eksternal di MaxCompute tempat metadata dari skema Hologres sumber dipetakan.
Dalam tutorial ini, dikonfigurasi sebagai
default.External Table
Tentukan nama tabel eksternal yang akan dibuat di MaxCompute. Data tabel sumber dipetakan ke tabel ini. Secara default, tabel eksternal memiliki nama yang sama dengan tabel di Hologres.
Membuat tabel eksternal adalah tindakan satu kali dan tidak memperbarui metadata secara otomatis. Untuk memperbarui metadata, Anda harus menghapus tabel eksternal saat ini dan membuat pemetaan metadata secara manual lagi.
Permissions to Access MaxCompute External Table
Pilih Dual-signature.
Jika Anda menggunakan metode peran RAM, Anda harus menambahkan pengguna di sisi Hologres dan memberikan izin database.
Lifecycle
Atur siklus hidup tabel.
Klik Run di pojok kiri atas halaman.
Setelah tugas dijalankan, tabel eksternal baru ditampilkan di bawah skema MaxCompute di panel navigasi sebelah kiri.
Anda dapat menjalankan pernyataan berikut untuk mengkueri data di tabel eksternal ini di MaxCompute.
SET odps.namespace.schema=true; SELECT * FROM dwd_orders;
Langkah 10: Buat tugas berulang untuk menyinkronkan tabel Hologres
Untuk mengarsipkan data tabel DWD dari gudang data real-time Hologres ke tabel internal di MaxCompute secara berkala, Anda dapat membuat tugas sinkronisasi data dan mengonfigurasi jadwal berulang.
Login ke Konsol DataWorks dan pilih wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih .
Pada bagian Select Workspace, klik Go To DataStudio.
Di halaman DataStudio, klik ikon
di panel navigasi sebelah kiri untuk membuka halaman DATA DTUDIO. Kemudian, buat folder proyek baru.Di halaman DataStudio, klik ikon
di panel navigasi sebelah kiri untuk membuka Data CATALOG.Perluas katalog data Hologres, klik kanan tabel
dwd_ordersdi skemapublicinstans target, lalu pilih Data Synchronization to MaxCompute.Di halaman Metadata Mapping to MaxCompute, Anda dapat mengonfigurasi parameter untuk sumber Hologres dan tujuan MaxCompute.
Pengaturan parameter utama untuk tutorial ini adalah sebagai berikut. Anda dapat menggunakan nilai default untuk semua parameter lainnya. Untuk informasi lebih lanjut tentang parameter, lihat Pemetaan metadata tabel tunggal.
Di kotak dialog Create Node, beri nama tabel di gudang data cloud
dwd_holo_ordersdan klik OK. Di halaman konfigurasi untuk menyinkronkan data Hologres ke MaxCompute, konfigurasikan parameter untuk sumber Hologres dan tujuan MaxCompute.Pengaturan parameter utama untuk tutorial ini adalah sebagai berikut. Untuk informasi lebih lanjut tentang parameter, lihat Konfigurasi node sinkronisasi.
Nama Parameter
Deskripsi
Data Source
Pilih nama sumber data Hologres yang diikat ke DataWorks.
Schema
Pilih skema tempat Anda ingin menyimpan data.
Table
Tentukan nama tabel internal MaxCompute.
Dalam tutorial ini, dikonfigurasi sebagai
dwd_holo_orders.Lifecycle
Atur siklus hidup tabel.
Import Method
Pilih metode untuk menulis data ke tabel internal MaxCompute:
Overwrite: Saat Anda perlu menghapus data asli dan menulis data baru ke tabel target, Anda dapat memilih metode overwrite.
Append: Mempertahankan data yang ada dan menambahkan data baru ke tabel target.
Permissions to Access Hologres
Anda dapat memilih salah satu metode berikut untuk mengakses instans Hologres sesuai kebutuhan:
Dual-signature: Melakukan verifikasi izin Hologres menggunakan identitas Anda saat ini.
Pastikan identitas saat ini memiliki izin baca pada tabel MaxCompute dan izin pada tabel sumber Hologres yang dipetakan ke tabel MaxCompute.
RAMRole: Mengotentikasi akses dengan menentukan peran RAM.
Berikan kebijakan akses
AliyunSTSAssumeRoleAccesskepada pengguna RAM. Untuk informasi lebih lanjut, lihat Pola otorisasi peran RAM. Setelah otorisasi selesai, konfigurasikan peran RAM yang ditentukan di kolom RamRole.
Klik Scheduling di panel sebelah kanan. Di halaman Properties, konfigurasikan alur kerja dan siklus penjadwalan. Untuk informasi lebih lanjut, lihat Konfigurasi Penjadwalan Node.
Klik Run di pojok kiri atas halaman.
Setelah tugas berhasil dijalankan, tabel internal yang baru dibuat ditampilkan di bawah MaxCompute di panel navigasi sebelah kiri. Anda dapat menggunakan pernyataan SQL berikut untuk mengkueri data tabel ini di MaxCompute.
SET odps.namespace.schema=true; SELECT * FROM default.dwd_holo_orders;