Topik ini menjelaskan cara membuat sumber data HttpFile dan MySQL untuk mengakses data informasi pengguna dan data log website yang disediakan dalam tutorial ini, mengonfigurasi pipeline sinkronisasi data ke sumber data OSS privat, serta menggunakan node EMR Hive untuk membuat tabel dan melakukan kueri terhadap data yang telah disinkronkan.
Prasyarat
Siapkan lingkungan yang diperlukan. Untuk informasi selengkapnya, lihat Siapkan lingkungan.
Untuk memastikan konektivitas jaringan, tambahkan aturan grup keamanan di Konsol ECS. Aturan tersebut harus mengizinkan lalu lintas masuk pada Port
10000dari Blok CIDR vSwitch VPC kelompok sumber daya Anda. Untuk informasi selengkapnya, lihat Tambahkan aturan grup keamanan.
1. Buat sumber data
Untuk tutorial ini, buat dan tambahkan ketiga sumber data berikut ke ruang kerja DataWorks Anda.
Sumber data HttpFile: untuk mengakses data log akses website yang disediakan dalam tutorial ini.
Sumber data MySQL: untuk mengakses data informasi pengguna yang disediakan dalam tutorial ini.
Sumber data OSS: untuk menyimpan data uji yang telah disinkronkan.
Buat sumber data HttpFile
Login ke Konsol DataWorks. Di wilayah target, klik di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Management Center.
Di halaman Manajemen Ruang Kerja, klik Data Sources di panel navigasi sebelah kiri untuk membuka halaman sumber data.
Klik Add Connection. Di kotak dialog Add Connection, cari dan pilih HttpFile.
Di halaman Create HttpFile data source, konfigurasikan parameter. Dalam tutorial ini, gunakan nilai contoh baik untuk lingkungan pengembangan maupun lingkungan produksi.
Parameter
Deskripsi
Data Source Name
Masukkan nama untuk sumber data. Untuk tutorial ini, masukkan user_behavior_analysis_httpfile.
Description
Masukkan deskripsi. Sumber data khusus tutorial ini menyediakan data uji untuk task sinkronisasi offline. Sumber data ini bersifat read-only dan hanya dapat digunakan untuk integrasi data.
URL domain
Domain URL untuk lingkungan pengembangan dan produksi adalah
https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com.Untuk kelompok sumber daya Anda, klik Test Connectivity di kolom Connection Status (Development Environment) dan Connection Status (Production Environment). Tunggu hingga status koneksi menjadi Connectable.
PentingPastikan setidaknya satu kelompok sumber daya memiliki status Connectable. Jika tidak, Anda tidak dapat menggunakan wizard untuk membuat task sinkronisasi untuk sumber data ini.
Klik Complete Creation.
Buat sumber data MySQL
Di halaman Management Center, buka halaman Data Source dan klik Add Connection.
Di kotak dialog Add Data Source, cari dan pilih MySQL.
Di halaman Create MySQL data source, konfigurasikan parameter. Dalam tutorial ini, gunakan nilai contoh baik untuk lingkungan pengembangan maupun lingkungan produksi.
Parameter
Deskripsi
Data Source Name
Masukkan nama untuk sumber data. Untuk tutorial ini, masukkan user_behavior_analysis_mysql.
Description
Masukkan deskripsi. Sumber data khusus tutorial ini menyediakan data uji untuk task sinkronisasi offline. Sumber data ini bersifat read-only dan hanya dapat digunakan untuk integrasi data.
Configuration Mode
Pilih User-created Data Store with Public IP Addresses.
Connection Address
Host Address IP:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.comPort:
3306
Database Name
Masukkan nama database. Untuk tutorial ini, masukkan
workshop.Username
Masukkan username. Untuk tutorial ini, masukkan workshop.
Password
Masukkan password. Untuk tutorial ini, masukkan workshop#2017.
Authentication Method
Tidak perlu autentikasi.
Untuk kelompok sumber daya Anda, klik Test Connectivity di kolom Connection Status (Development Environment) dan Connection Status (Production Environment). Tunggu hingga status koneksi menjadi Connectable.
Klik Complete Creation.
Buat sumber data OSS
Dalam kasus penggunaan ini, informasi pengguna dari sumber data MySQL dan data log dari sumber data HttpFile disinkronkan ke sumber data OSS.
Di halaman Management Center, buka halaman Data Source dan klik Add Connection.
Di kotak dialog Add Connection, cari dan pilih OSS.
Di halaman Create OSS data source, konfigurasikan parameter. Dalam tutorial ini, gunakan nilai contoh baik untuk lingkungan pengembangan maupun lingkungan produksi.
Parameter
Description
Data Source Name
Masukkan nama untuk sumber data. Untuk contoh ini, gunakan test_g.
Description
Masukkan deskripsi singkat mengenai sumber data.
Access mode
Pilih Access Key mode.
AccessKey ID
ID AccessKey dari akun saat ini. Buka halaman AccessKey untuk menyalin ID AccessKey.
AccessKey secret
Masukkan rahasia AccessKey untuk akun Anda.
PentingRahasia AccessKey hanya ditampilkan saat Anda membuatnya dan tidak dapat dilihat kembali nanti. Simpan rahasia AccessKey Anda secara rahasia. Jika AccessKey Anda bocor atau hilang, hapus AccessKey tersebut dan buat yang baru.
Endpoint
Masukkan
http://oss-cn-shanghai-internal.aliyuncs.com.Bucket
Masukkan nama bucket OSS yang telah Anda konfigurasikan untuk kluster EMR saat menyiapkan lingkungan. Untuk tutorial ini, gunakan dw-emr-demo.
Untuk kelompok sumber daya Anda, klik Test Connectivity di kolom Connection Status (Development Environment) dan Connection Status (Production Environment). Tunggu hingga status koneksi menjadi Connectable.
CatatanPastikan setidaknya satu kelompok sumber daya memiliki status Connectable. Jika tidak, Anda tidak dapat menggunakan wizard untuk membuat task sinkronisasi untuk sumber data ini.
Klik Complete Creation.
2. Bangun pipeline sinkronisasi
Klik ikon
di pojok kiri atas dan pilih All Products > Data Development and O&M > DataStudio.Di panel DataStudio, klik kanan Workflow dan pilih Create Workflow.
Di kotak dialog Create Workflow, masukkan workshop_emr untuk Workflow Name dan klik New.
Di kanvas pengembangan workflow, buat Node Zero-Load dan dua node sinkronisasi offline.
Klik New Node, lalu seret Zero-Load Node ke kanvas di sebelah kanan. Di kotak dialog New Node, masukkan workshop_start_emr untuk Node Name, lalu klik Confirm.
Klik New Node, pilih dan seret node Offline synchronization ke halaman pengeditan di sebelah kanan. Atur Node Name menjadi ods_raw_log_d_2oss_emr dan ods_user_info_d_2oss_emr masing-masing untuk menyinkronkan informasi pengguna MySQL dan informasi log HttpFile, lalu klik Confirm.
Di kanvas pengembangan workflow, seret garis untuk mengatur node workshop_start_emr sebagai node hulu untuk kedua node sinkronisasi offline tersebut.
3. Mengonfigurasi tugas sinkronisasi
Konfigurasi node awal
Di DataStudio, klik ganda Node Zero-Load di workflow Anda. Di tab editor node, klik Scheduling Configuration di panel sebelah kanan.
Konfigurasikan properti penjadwalan.
Properti penjadwalan
Deskripsi
Jadwal waktu
Atur waktu penjadwalan untuk Node Zero-Load menjadi pukul 00:30. Node akan mulai dan menjalankan workflow saat ini setiap hari pukul 00:30.
Atur RUN Attribute menjadi Rerun regardless of success or failure.
Ketergantungan penjadwalan
Karena Node Zero-Load
workshop_start_emrtidak memiliki dependensi hulu, Anda dapat mengatur dependensinya ke Workspace Root Node. Node root kemudian akan memicu nodeworkshop_start_emruntuk dijalankan.Workspace Root Node dinamai dengan format
WorkspaceName_root.Setelah konfigurasi selesai, klik ikon
di bilah alat atas.
Konfigurasi node sinkronisasi offline
Sinkronkan informasi pengguna dari sumber data MySQL ke bucket OSS Anda.
Di DataStudio, klik ganda node ods_user_info_d_2oss_emr untuk membuka tab konfigurasinya.
Konfigurasikan sumber, tujuan, dan kelompok sumber daya.
Setelah menyelesaikan konfigurasi berikut, klik The next Step dan selesaikan uji konektivitas sesuai petunjuk.
Parameter
Deskripsi
Data source
Type: MySQL.
Data Source name: user_behavior_analysis_mysql.
My Resource Group
Pilih serverless resource group yang telah Anda beli.
Data going
Type: OSS.
Data Source name: Pilih sumber data OSS privat yang telah Anda buat. Dalam contoh ini, gunakan test_g.
Konfigurasikan task sinkronisasi.
Parameter
Deskripsi
Data source
Table: Pilih ods_user_info_d dari sumber data.
Shard Key: Disarankan menggunakan primary key atau kolom yang diindeks sebagai kunci shard. Hanya bidang bertipe integer yang didukung. Untuk tutorial ini, atur kunci shard menjadi uid.
Data going
File Type: Pilih text.
Object Name (Path Included): Masukkan jalur berdasarkan direktori OSS Anda. Untuk tutorial ini, masukkan ods_user_info_d/user_${bizdate}/user_${bizdate}.txt. Dalam jalur ini,
ods_user_info_dadalah nama direktori kustom, dan${bizdate}adalah variabel untuk tanggal hari sebelumnya.Field Delimiter: Masukkan |.
Konfigurasikan jadwal.
Klik Scheduling Configuration di panel sebelah kanan. Di panel Scheduling Configuration, konfigurasikan properti penjadwalan seperti dijelaskan di bawah ini.
Parameter
Konfigurasi
Scheduling Parameters
Di bagian Scheduling Parameters, tambahkan parameter berikut:
Nama Parameter: bizdate
Nilai: $[yyyymmdd-1]
Time attribute
Atur RUN Attribute menjadi Rerun regardless of success or failure.
Scheduling Dependency
Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.
Formatnya adalah
WorkspaceName.NodeName.Setelah konfigurasi selesai, klik ikon
di bilah alat.
Sinkronkan data log dari sumber data HttpFile ke bucket OSS Anda.
Di DataStudio, klik ganda node ods_raw_log_d_2oss_emr untuk membuka tab konfigurasinya.
Konfigurasikan sumber, tujuan, dan kelompok sumber daya.
Setelah menyelesaikan konfigurasi berikut, klik The next Step dan selesaikan uji konektivitas sesuai petunjuk.
Parameter
Deskripsi
Data source
Type: HttpFile.
Data Source name: user_behavior_analysis_httpfile.
My Resource Group
Pilih serverless resource group yang telah Anda beli.
Data going
Type: OSS.
Data Source name: Pilih sumber data OSS privat yang telah Anda buat. Dalam contoh ini, gunakan test_g.
Konfigurasikan task sinkronisasi.
Parameter
Deskripsi
Data source
File Path: /user_log.txt.
File Type: Pilih text.
Field Delimiter: Masukkan |.
Compression Format: Opsi termasuk None, Gzip, Bzip2, dan Zip. Untuk tutorial ini, pilih None.
Skip Header: Pilih No.
Data going
File Type: Pilih text.
Object Name (Path Included): Masukkan jalur berdasarkan direktori OSS Anda. Untuk tutorial ini, masukkan ods_raw_log_d/log_${bizdate}/log_${bizdate}.txt. Dalam jalur ini,
ods_raw_log_dadalah nama direktori kustom, dan${bizdate}adalah variabel untuk tanggal hari sebelumnya.Field Delimiter: Masukkan |.
Konfigurasikan jadwal.
Klik Scheduling Configuration di panel sebelah kanan. Di panel Scheduling Configuration, konfigurasikan properti penjadwalan seperti dijelaskan di bawah ini.
Parameter
Konfigurasi
Scheduling Parameters
Di bagian Scheduling Parameters, tambahkan parameter berikut:
Nama Parameter: bizdate
Nilai: $[yyyymmdd-1]
Time attribute
Atur RUN Attribute menjadi Rerun regardless of success or failure.
Scheduling Dependency
Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.
Formatnya adalah
WorkspaceName.NodeName.Setelah konfigurasi selesai, klik ikon
di bilah alat.
Buat tabel EMR
Buat dua tabel, ods_user_info_d_emr dan ods_raw_log_d_emr, untuk melakukan kueri terhadap data mentah pengguna MySQL dan data log OSS yang telah disinkronkan, masing-masing.
Di DataStudio, buka workflow yang telah Anda buat. Klik kanan EMR dan pilih .
Di kotak dialog New Node, masukkan Node Name dan klik Confirm.
Anda perlu membuat dua node EMR Hive, ods_user_info_d_emr dan ods_raw_log_d_emr, untuk membuat tabel yang sesuai. Di kanvas pengembangan workflow, konfigurasikan dependensi node dengan menyeret garis.
Atur workshop_start_emr sebagai node hulu untuk ods_user_info_d_2oss_emr dan ods_raw_log_d_2oss_emr. Kemudian, atur kedua node sinkronisasi tersebut sebagai node hulu untuk ods_user_info_d_emr dan ods_raw_log_d_emr, masing-masing.
Masukkan pernyataan pembuatan tabel di node EMR Hive masing-masing. Di Scheduling Configuration, atur Scheduling Resource Groups ke kelompok sumber daya arsitektur tanpa server yang telah Anda beli. Lalu, klik Save dan Run setiap pernyataan pembuatan tabel.
Buat tabel ods_user_info_d_emr.
Klik ganda node ods_user_info_d_emr untuk membuka tab editor dan edit task pembuatan tabel.
Edit kode SQL.
CREATE EXTERNAL TABLE IF NOT EXISTS ods_user_info_d_emr ( `uid` STRING COMMENT 'User ID', `gender` STRING COMMENT 'Gender', `age_range` STRING COMMENT 'Age range', `zodiac` STRING COMMENT 'Zodiac sign' ) PARTITIONED BY ( dt STRING ) ROW FORMAT delimited fields terminated by '|' LOCATION 'oss://dw-emr-demo/ods_user_info_d/'; ALTER TABLE ods_user_info_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}') LOCATION 'oss://dw-emr-demo/ods_user_info_d/user_${bizdate}/';Catatanlocation dalam kode adalah jalur contoh yang harus sesuai dengan jalur tujuan yang Anda konfigurasi di task sinkronisasi offline. Ganti dengan jalur file aktual Anda. Dalam jalur tersebut,
dw-emr-demoadalah nama Bucket OSS yang Anda buat saat menyiapkan lingkungan.Konfigurasikan properti penjadwalan.
Parameter
Konfigurasi
Scheduling Parameters
Di bagian Scheduling Parameters, tambahkan parameter berikut:
Nama Parameter: bizdate
Nilai: $[yyyymmdd-1]
Time attribute
Atur RUN Attribute menjadi Rerun regardless of success or failure.
Scheduling Dependency
Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.
Formatnya adalah
WorkspaceName.NodeName.Setelah konfigurasi selesai, klik
untuk menyimpan node.
Buat tabel ods_raw_log_d_emr.
Klik ganda node ods_raw_log_d_emr dan edit task untuk membuat tabel ods_raw_log_d_emr.
Edit kode SQL.
-- Create the destination table for OSS log data. CREATE EXTERNAL TABLE IF NOT EXISTS ods_raw_log_d_emr ( `col` STRING ) PARTITIONED BY ( dt STRING ); ALTER TABLE ods_raw_log_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}') LOCATION 'oss://dw-emr-demo/ods_raw_log_d/log_${bizdate}/';Catatanlocation dalam kode adalah jalur contoh yang harus sesuai dengan jalur tujuan yang Anda konfigurasi di task sinkronisasi offline. Ganti dengan jalur file aktual Anda. Dalam jalur tersebut,
dw-emr-demoadalah nama Bucket OSS yang Anda buat saat menyiapkan lingkungan.Konfigurasikan properti penjadwalan.
Parameter
Konfigurasi
Scheduling Parameters
Di bagian Scheduling Parameters, tambahkan parameter berikut:
Nama Parameter: bizdate
Nilai: $[yyyymmdd-1]
Time attribute
Atur RUN Attribute menjadi Rerun regardless of success or failure.
Scheduling Dependency
Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.
Formatnya adalah
WorkspaceName.NodeName.Setelah konfigurasi selesai, klik
untuk menyimpan node.
4. Jalankan Tugas dan Lihat Hasil
Jalankan workflow
Di halaman Pengembangan Data, klik ganda workshop_emr di bawah Workflow, lalu di panel workflow yang terbuka, klik ikon
di bilah alat untuk menjalankan workflow berdasarkan dependensi hulu dan hilirnya.Konfirmasi status eksekusi.
Periksa status task yang sedang berjalan:
Ikon
pada node menunjukkan task berhasil dijalankan.Ikon
dengan error java.net.ConnectException: Connection timed out (Connection timed out)menunjukkan adanya masalah konektivitas jaringan. Untuk mengatasinya, tambahkan aturan grup keamanan di Konsol ECS yang mengizinkan lalu lintas masuk pada Port10000dari Blok CIDR vSwitch VPC kelompok sumber daya Anda. Untuk menemukan Blok CIDR vSwitch, buka daftar kelompok sumber daya dan klik Network Settings untuk kelompok sumber daya yang relevan. Untuk informasi lebih lanjut tentang cara menambahkan aturan grup keamanan, lihat Tambahkan aturan grup keamanan.
Untuk melihat log eksekusi, klik kanan node ods_user_info_d_emr dan ods_raw_log_d_emr dan pilih View Log. Output log berikut menunjukkan bahwa data telah berhasil disinkronkan.
State:3(RUN) China Standard Time 2019 Logview: China Standard Time 2019 State:4(SUCCESS) China Standard Time 2019 Total:20028R 442.8KB Exit SUCCESS INFO Shell run successfully! Current task status: FINISH Cost Time: 48.309s
Lakukan kueri terhadap hasil sinkronisasi
Buat node kueri ad hoc.
Di panel navigasi sebelah kiri DataStudio, klik
untuk membuka panel kueri ad hoc. Klik kanan Ad Hoc Query, lalu pilih New Node>EMR Hive.Lakukan kueri terhadap tabel hasil.
Jalankan pernyataan SQL berikut untuk memverifikasi bahwa data telah ditulis ke tabel
ods_raw_log_d_emrdanods_user_info_d_emr.-- Kolom partisi dalam kueri harus diperbarui ke tanggal bisnis. -- Misalnya, jika task dijalankan pada 20191107, tanggal bisnis adalah 20191106 (hari sebelum tanggal eksekusi task). SELECT * from ods_user_info_d_emr where dt=your_business_date; SELECT * from ods_raw_log_d_emr where dt=your_business_date;
Langkah berikutnya
Sekarang Anda telah mempelajari cara menyinkronkan data log, Anda dapat melanjutkan ke tutorial berikutnya untuk mempelajari cara memproses dan menganalisisnya. Untuk informasi selengkapnya, lihat Proses data.