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:

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_idSkema tabel sumber laporan eksperimen offline
Parameter | Deskripsi | Wajib | Catatan |
| User ID | Ya | Pengenal unik pengguna, seperti UID, |
| 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: |
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 Anda dapat menentukan hingga dua bidang dimensi, seperti Bidang dimensi umum adalah |
Compute field | Anda dapat memiliki beberapa bidang komputasi. Contoh: Contoh: | Ya | Bidang numerik yang Anda sediakan, seperti jumlah eksposur, jumlah klik, atau durasi tampilan. |
| Partisi tanggal | Ya | Format: |
| Partisi jam | Tidak | Format 24 jam: |
| Partisi menit | Tidak |
|
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_idSkema tabel sumber laporan signifikansi offline
Parameter | Deskripsi | Wajib | Catatan |
| User ID | Ya | Pengenal unik pengguna, seperti UID, |
| 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: |
| Item ID | Ya | |
| 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 Anda dapat menentukan hingga dua bidang dimensi, seperti Bidang dimensi umum adalah |
Compute field | Anda dapat memiliki beberapa compute field. Contoh: Contoh: | Ya | Bidang numerik yang Anda sediakan, seperti jumlah eksposur atau jumlah klik. |
| Partisi tanggal | Ya | Format: |
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 | Ya | Pengenal unik pengguna, seperti UID, |
| 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: |
Dimension field | Contoh: | Tidak | Digunakan untuk memfilter data laporan berdasarkan dimensi ini. |
Compute field | Anda dapat memiliki beberapa bidang komputasi. Contoh: | Ya | Bidang numerik yang Anda sediakan, seperti jumlah eksposur, jumlah klik, atau durasi tampilan. |
| Partisi tanggal | Ya | Format: |
| Partisi jam | Ya | Format 24 jam: |
| Partisi menit | Tidak |
|
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.
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.