All Products
Search
Document Center

:Pendaftaran data dan konfigurasi bidang

Last Updated:Aug 27, 2026

Pendaftaran data

Untuk pendaftaran data, Anda harus mengaktifkan MaxCompute, mengikat proyek, dan mendaftarkan tabel MaxCompute. Tabel yang terdaftar ini berfungsi sebagai tabel antara untuk statistik kinerja dan disebut experiment report source table. Tabel ini menggunakan kunci primer komposit yang terdiri dari user_id, exp_id, dan bidang dimensi untuk mengagregasi statistik. Setiap baris merepresentasikan metrik, seperti jumlah eksposur dan klik, untuk pengguna tertentu dalam eksperimen tertentu. Anda juga dapat menambahkan dimensi, seperti negara, untuk membuat tabel statistik antara yang lebih granular—misalnya berdasarkan user_id, negara, dan exp_id. Baik metrik dasar maupun metrik turunan yang Anda konfigurasikan nanti bergantung pada tabel antara ini. Sebelum menjelaskan experiment report source table secara detail, tinjau arsitektur eksperimen secara keseluruhan pada gambar berikut:

image.png

Engine PAI-Rec adalah layanan rekomendasi yang mengintegrasikan SDK dari pusat konfigurasi untuk mengambil informasi eksperimen. Respons layanan rekomendasi mencakup ID eksperimen (exp_id) dan ID permintaan (reqid).

Ketika pengguna berinteraksi dengan aplikasi Anda, pelacakan event di front-end mengumpulkan log perilaku dan mengirimkannya ke ODPS (sekarang dikenal sebagai MaxCompute). Tugas SQL kemudian memproses log tersebut untuk menghasilkan experiment report source table. Setelah Anda mengonfigurasi metrik di pusat konfigurasi, sistem secara dinamis menyusun kueri SQL untuk menghitung statistik dari source table ini. Sistem menyimpan hasilnya di Hologres, dan Anda dapat melihatnya di halaman laporan eksperimen.

I. Laporan eksperimen offline

Kode tabel sumber laporan eksperimen offline

CREATE TABLE IF NOT EXISTS experiment_report (
	user_id STRING COMMENT 'User ID',
        exp_id STRING COMMENT 'Experiment ID',
	exposure_count BIGINT COMMENT 'Exposure count',
	click_count BIGINT COMMENT 'Click count',
	like_comment_collect_count BIGINT COMMENT 'Like, comment, and collect count'
)
PARTITIONED  by (dt STRING COMMENT 'Date')
STORED AS ALIORC;
INSERT OVERWRITE TABLE experiment_report PARTITION (dt = '${bdp.system.bizdate}')
SELECT  user_id
        ,exp_id
        ,SUM(IF(event == 'expose',1,0))
        ,SUM(IF(event == 'click',1,0))
        ,SUM(IF(event IN ('like','comment','collect'),1,0))
FROM    rec_sln_demo_behavior_table_v1
WHERE   ds = '${bdp.system.bizdate}'
GROUP BY user_id
         ,exp_id

Skema tabel sumber laporan eksperimen offline

Parameter

Deskripsi

Wajib

Catatan

user_id

User ID

Ya

Pengenal unik pengguna, seperti UID, device_id, atau IMEI.

exp_id

Experiment ID

Ya

ID eksperimen yang dikembalikan oleh layanan Pengujian A/B dan dicatat melalui pelacakan event. Jika Anda menggunakan layanan rekomendasi sendiri, Anda dapat menetapkan pengenal kustom. Contoh: ER1_L1#EG1#E1_L2#EG2#E2

Dimension field

Bidang yang digunakan untuk pelaporan statistik yang lebih granular.

Tidak

Anda dapat menggunakan bidang ini untuk mengelompokkan dan menampilkan metrik yang sesuai.

Misalnya, tambahkan bidang province untuk menganalisis kinerja produk di berbagai provinsi.

Anda dapat menentukan hingga dua bidang dimensi, seperti province dan city. Menambahkan bidang ketiga akan menghasilkan terlalu banyak kombinasi, sehingga memperlambat komputasi secara signifikan.

Bidang dimensi umum adalah recall_id, yang memungkinkan Anda menganalisis kinerja sumber recall. Hal ini memerlukan konfigurasi log backend engine PAI-Rec. Untuk informasi selengkapnya, lihat pairec_debug_log di Log Configuration.

Compute field

Anda dapat memiliki beberapa bidang komputasi.

Contoh: exposure_count

Contoh: click_count

Ya

Bidang numerik yang Anda sediakan, seperti jumlah eksposur, jumlah klik, atau durasi tampilan.

dt

Partisi tanggal

Ya

Format: yyyyMMdd

hh

Partisi jam

Tidak

Format 24 jam: 00 hingga 23.

mm

Partisi menit

Tidak

00 hingga 59.

Anda dapat menghasilkan tabel sumber setiap hari untuk laporan offline atau setiap jam untuk laporan near-real-time, tergantung pada kebutuhan bisnis Anda. Misalnya, Anda dapat menggunakan DataWorks untuk menjadwalkan pekerjaan yang berjalan setiap jam guna memproses log dari jam sebelumnya. Untuk pembuatan offline, user_id, exp_id, dan dt wajib diisi. Untuk laporan per jam, user_id, exp_id, dt, dan hh wajib diisi; partisi mm bersifat opsional.

Sumber data real-time mendukung metrik offline dan real-time, sedangkan sumber data offline hanya mendukung metrik offline.

Bidang dimensi bersifat opsional, tetapi memungkinkan analisis dimensi terhadap metrik Anda. Bidang dimensi umum meliputi gender dan os (sistem operasi, seperti iOS atau Android), sehingga Anda dapat melihat data laporan yang dikelompokkan berdasarkan gender atau sistem operasi.

Kode tabel sumber laporan signifikansi offline

CREATE TABLE IF NOT EXISTS experiment_report_v3 (
    user_id STRING COMMENT 'User ID',
    exp_id STRING COMMENT 'Experiment ID',
    item_id STRING COMMENT 'Item ID',
    request_id STRING COMMENT 'Request ID',
    click_uv BIGINT COMMENT 'Click UV',
    expr_pv BIGINT COMMENT 'Exposure PV'
)
PARTITIONED  by (dt STRING COMMENT 'Date')
STORED AS ALIORC;
INSERT OVERWRITE TABLE experiment_report_v3 PARTITION (dt = '${bdp.system.bizdate}')
SELECT
    user_id,
    exp_id,
    item_id,
    request_id,
    MAX(IF(event = 'click', 1, 0)) AS click_uv,
    SUM(IF(event = 'expr', 1, 0)) AS expr_pv
FROM rec_sln_demo_behavior_table_v1
WHERE   ds = '${bdp.system.bizdate}'
GROUP BY
    user_id,
    exp_id,
    item_id,
    request_id

Skema tabel sumber laporan signifikansi offline

Parameter

Deskripsi

Wajib

Catatan

user_id

User ID

Ya

Pengenal unik pengguna, seperti UID, device_id, atau IMEI.

exp_id

Experiment ID

Ya

ID eksperimen yang dikembalikan oleh layanan Pengujian A/B dan dicatat melalui pelacakan event. Jika Anda menggunakan layanan rekomendasi sendiri, Anda dapat menetapkan pengenal kustom. Contoh: ER1_L1#EG1#E1_L2#EG2#E2

item_id

Item ID

Ya

request_id

Request ID

Ya

Dimension field

Bidang yang digunakan untuk pelaporan statistik yang lebih granular.

Tidak

Anda dapat menggunakan bidang ini untuk mengelompokkan dan menampilkan metrik yang sesuai.

Misalnya, tambahkan bidang province untuk menganalisis kinerja produk di berbagai provinsi.

Anda dapat menentukan hingga dua bidang dimensi, seperti province dan city. Menggunakan bidang ketiga akan menghasilkan terlalu banyak kombinasi, sehingga memperlambat komputasi secara signifikan.

Bidang dimensi umum adalah recall_id, yang memungkinkan Anda menganalisis kinerja sumber recall. Hal ini memerlukan konfigurasi log backend engine PAI-Rec. Untuk informasi selengkapnya, lihat pairec_debug_log di Log Configuration.

Compute field

Anda dapat memiliki beberapa compute field.

Contoh: expr_pv (jumlah eksposur)

Contoh: click_uv (jumlah klik)

Ya

Bidang numerik yang Anda sediakan, seperti jumlah eksposur atau jumlah klik.

dt

Partisi tanggal

Ya

Format: yyyyMMdd

II. Laporan eksperimen real-time

Kode tabel sumber laporan eksperimen real-time

CREATE TABLE IF NOT EXISTS experiment_report_real (
	user_id STRING COMMENT 'User ID',
        exp_id STRING COMMENT 'Experiment ID',
	exposure_count BIGINT COMMENT 'Exposure count',
	click_count BIGINT COMMENT 'Click count',
	like_comment_collect_count BIGINT COMMENT 'Like, comment, and collect count'
)
PARTITIONED  by (
    dt string
    ,hh string
)
STORED AS ALIORC;
INSERT OVERWRITE TABLE experiment_report_real PARTITION (dt = '${bdp.system.bizdate}',hh = '${hour}')
SELECT  user_id
        ,exp_id
        ,SUM(IF(event == 'expose',1,0))
        ,SUM(IF(event == 'click',1,0))
        ,SUM(IF(event IN ('like','comment','collect'),1,0))
FROM    rec_sln_demo_behavior_table_v1
WHERE   ds = '${bdp.system.bizdate}'
AND hh = hour(now()) -1
GROUP BY user_id
         ,exp_id;

Skema tabel sumber laporan eksperimen real-time

Parameter

Deskripsi

Wajib

Catatan

user_id

User ID

Ya

Pengenal unik pengguna, seperti UID, device_id, atau IMEI.

exp_id

Experiment ID

Ya

ID eksperimen yang dikembalikan oleh layanan Pengujian A/B dan dicatat melalui pelacakan event. Jika Anda menggunakan layanan rekomendasi sendiri, Anda dapat menetapkan pengenal kustom. Contoh: ER1_L1#EG1#E1_L2#EG2#E2

Dimension field

Contoh: os (sistem operasi).

Tidak

Digunakan untuk memfilter data laporan berdasarkan dimensi ini.

Compute field

Anda dapat memiliki beberapa bidang komputasi.

Contoh: exposure_count, click_count.

Ya

Bidang numerik yang Anda sediakan, seperti jumlah eksposur, jumlah klik, atau durasi tampilan.

dt

Partisi tanggal

Ya

Format: yyyyMMdd

hh

Partisi jam

Ya

Format 24 jam: 00 hingga 23.

mm

Partisi menit

Tidak

00 hingga 59.

Bidang dalam tabel hasil sebagian besar bersifat tetap; hanya bidang dimensi yang bersifat variabel. Definisi bidang dimensi dalam tabel hasil harus sesuai dengan definisinya dalam tabel sumber.

Metrik offline dan metrik real-time tidak dapat menggunakan tabel hasil yang sama. Tabel hasil untuk metrik offline hanya memerlukan partisi tanggal dt, sedangkan tabel real-time harus mencakup setidaknya partisi jam hh.

Setelah Anda membuat experiment report source table, buka halaman Metric Management > Data Registration di Konsol untuk menambahkan tabel data MaxCompute baru.

Kami menyarankan menggunakan tabel Hologres default untuk menyimpan hasil perhitungan metrik. Opsi ini tidak mengonsumsi sumber daya Anda sendiri karena sistem secara otomatis membuat dan mengelola tabel tersebut untuk Anda. Alternatifnya, Anda dapat menggunakan instans dan tabel Hologres milik Anda sendiri.

III. Mendaftarkan tabel MaxCompute

Klik Create Data Table, pilih proyek MaxCompute yang telah Anda ikat, pilih tabel data MaxCompute, berikan nama kustom, lalu klik Start Import untuk mengimpor data tabel.

Catatan

Jika skema tabel data yang terdaftar berubah, Anda harus segera mengimpor ulang. Jika tidak, sistem mungkin tidak mengenali perubahan bidang tersebut.

Konfigurasi bidang

Setelah pendaftaran, tabel data akan muncul dalam daftar. Klik View Fields untuk meninjau dan mengedit bidang-bidang tersebut. Bidang user_id, exp_id, dan dt wajib diisi. Bersama-sama, bidang-bidang ini melacak jumlah total perilaku, seperti eksposur, klik, dan suka, untuk pengguna tertentu (user_id) dalam eksperimen tertentu (exp_id) pada hari tertentu (dt). Metrik kustom didefinisikan dan dihitung berdasarkan tabel ini.

Bidang dimensi

Anda dapat menambahkan satu atau dua bidang dimensi ke dalam tabel. Misalnya, jika Anda menetapkan city sebagai dimensi, laporan eksperimen akan menampilkan perbandingan hasil eksperimen untuk setiap kota. Jika Anda menetapkan city dan gender sebagai bidang dimensi, laporan akan menampilkan hasil yang dikelompokkan berdasarkan kombinasi kedua bidang tersebut.