Tutorial ini memandu Anda dalam menjalankan eksperimen analisis profil pengguna menggunakan DataWorks dan E-MapReduce (EMR). Di akhir tutorial, Anda akan memahami cara:
-
Menyinkronkan data dari beberapa sumber—ApsaraDB RDS for MySQL dan Object Storage Service (OSS)—ke EMR.
-
Memproses dan memisahkan log akses web mentah menjadi bidang-bidang yang dapat dianalisis.
-
Menggabungkan informasi pengguna dengan data log yang telah diproses untuk menghasilkan profil pengguna.
-
Memantau kualitas data dengan aturan otomatis guna mendeteksi data kotor sebelum mencapai node turunan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Akun Alibaba Cloud dengan akses ke DataWorks dan EMR.
-
Pemahaman dasar tentang SQL dan konsep pipa data.
Desain eksperimen
Latar belakang
Untuk mendukung operasi detail halus pada traffic website, eksperimen ini membangun pipa analisis profil pengguna yang berjalan secara periodik. Pipa ini mencakup atribut geografis dan sosial pengguna serta memanfaatkan DataWorks untuk:
-
Menyinkronkan data dari berbagai sumber.
-
Memproses dan mentransformasi data mentah.
-
Mengelola kualitas data.
-
Menyediakan data untuk dikonsumsi.
Cara kerja
Pipa ini dijalankan dalam empat langkah:
-
Synchronize: Data Integration mengekstraksi informasi pengguna dasar dari ApsaraDB RDS for MySQL dan log akses web dari OSS, lalu memuat keduanya ke EMR.
-
Process: Memisahkan log akses mentah menjadi bidang terstruktur menggunakan fungsi dan ekspresi reguler, kemudian menggabungkannya dengan informasi pengguna di EMR.
-
Transform: Memproses lebih lanjut data yang telah digabungkan untuk menghasilkan profil pengguna lengkap.
-
Monitor: Menerapkan aturan Data Quality untuk mendeteksi data kotor pada output node penjadwalan dan mencegahnya menyebar ke node turunan.
Layanan DataWorks yang terlibat
Tabel berikut memetakan setiap langkah pipa ke layanan DataWorks yang digunakan serta keterampilan yang akan Anda latih.
| Langkah | Operasi | Apa yang akan Anda pelajari |
|---|---|---|
| Synchronize data | Konfigurasikan node sinkronisasi untuk memuat informasi pengguna dari ApsaraDB RDS for MySQL dan log akses dari OSS ke EMR | Sinkronkan data dari berbagai sumber ke EMR; buat tabel untuk sumber data terkait; picu node secara manual; lihat log node |
| Process data | Di DataStudio, pisahkan log akses menjadi bidang menggunakan fungsi atau ekspresi reguler, lalu gabungkan log dan informasi pengguna untuk menghasilkan profil pengguna | Buat dan konfigurasikan node dalam alur kerja DataWorks; jalankan alur kerja |
| Configure data quality monitoring rules | Di Data Quality, konfigurasikan aturan pemantauan untuk tabel yang dihasilkan oleh node penjadwalan guna mendeteksi data kotor | Siapkan aturan kualitas data untuk mengidentifikasi data kotor akibat perubahan data sumber dan mencegahnya memengaruhi node turunan |
Data eksperimen
Data log akses
Eksperimen ini menggunakan log akses web mentah yang disimpan dalam objek OSS user_log.txt. Setiap baris log mengikuti format berikut:
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent"$http_referer" "$http_user_agent" [unknown_content];
Tabel berikut menjelaskan setiap bidang yang diekstraksi dari log mentah.
| Bidang | Deskripsi |
|---|---|
$remote_addr |
Alamat IP klien |
$remote_user |
Nama pengguna yang digunakan untuk masuk ke klien |
$time_local |
Waktu lokal di server |
$request |
Permintaan HTTP, termasuk jenis permintaan, URL, dan versi HTTP |
$status |
Kode status HTTP yang dikembalikan oleh server |
$body_bytes_sent |
Jumlah byte yang dikirim ke klien, tidak termasuk byte header |
$http_referer |
URL sumber permintaan |
$http_user_agent |
Informasi klien, seperti jenis browser |
Data informasi pengguna
Informasi pengguna dasar disimpan di ApsaraDB RDS for MySQL dalam tabel ods_user_info_d.
| Bidang | Deskripsi |
|---|---|
uid |
Nama pengguna |
gender |
Jenis kelamin |
age_range |
Rentang usia |
zodiac |
Zodiak |
Data keluaran akhir
Setelah memproses dan menggabungkan kedua sumber data, pipa ini menghasilkan tabel hasil dengan skema berikut.
| Bidang | Deskripsi |
|---|---|
uid |
Nama pengguna |
region |
Wilayah |
device |
Jenis terminal |
pv |
Jumlah tampilan halaman (page views) |
gender |
Jenis kelamin |
age_range |
Rentang usia |
Zodiac |
Zodiak |
Langkah selanjutnya
Setelah menyelesaikan eksperimen, Anda dapat memperluas pipa dengan operasi berikut.
| Operasi | Deskripsi | Referensi |
|---|---|---|
| Manage metadata | Di Data Map, lihat dan kelola metadata tabel sumber | Kelola data |
| Consume data | Di DataAnalysis, jalankan kueri SQL terhadap tabel hasil untuk menganalisis distribusi geografis pengguna dan peringkat kota. Gunakan fitur API di DataService Studio untuk mengekspos tabel hasil sebagai API. | Visualisasikan data pada Dasbor dan Gunakan API untuk menyediakan layanan data |