Topik ini menjelaskan cara menggunakan fitur Data Integration dari DataWorks untuk memigrasikan field JSON dari MongoDB ke MaxCompute.
Prasyarat
-
Tambahkan sumber data MaxCompute. Untuk informasi selengkapnya, lihat Bind MaxCompute compute resources.
-
Buat alur bisnis di DataWorks. Topik ini menggunakan alur bisnis dalam mode dasar. Untuk informasi selengkapnya, lihat Create a business flow.
Persiapkan data uji di MongoDB
-
Persiapkan akun pengguna.
Buat pengguna di database. Anda dapat menggunakan pengguna ini untuk menambahkan sumber data di DataWorks. Pada contoh ini, jalankan perintah berikut.
db.createUser({user:"bookuser",pwd:"123456",roles:["user1"]})Perintah ini membuat pengguna bernama bookuser dengan password 123456. Role dapat berupa role apa pun yang memiliki izin untuk mengakses data.
-
Persiapkan data.
Unggah data ke database MongoDB. Contoh ini menggunakan ApsaraDB for MongoDB. Jenis jaringan adalah VPC. Titik akhir publik diperlukan agar VPC dapat berkomunikasi dengan kelompok sumber daya publik DataWorks. Kode berikut menyediakan data uji.
{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } }, "expensive": 10 } -
Contoh ini menggunakan database admin dan koleksi userlog di konsol DMS untuk MongoDB. Untuk melihat data yang diunggah, jalankan perintah berikut.
db.userlog.find().limit(10)
Gunakan DataWorks untuk memigrasikan data
Login ke DataWorks console.
-
Buat tabel tujuan di DataWorks untuk data MongoDB yang dimigrasikan.
Klik kanan Workflow yang telah dibuat, lalu pilih Create Table > Table.
Di halaman Create Table, pilih tipe engine, lalu masukkan Name.
Di halaman pengeditan tabel, klik DDL Statement.
-
Di kotak dialog DDL Statement, masukkan pernyataan DDL lalu klik Generate Table Schema.
PentingNama tabel dalam pernyataan DDL harus sesuai dengan Table Name yang Anda masukkan di halaman Create Table.
create table mqdata (mqdata string); -
Klik Commit to Production Environment.
-
Tambahkan sumber data MongoDB. Untuk informasi selengkapnya, lihat Configure a MongoDB data source.
-
Buat node sinkronisasi offline.
Buka halaman analitik data. Klik kanan alur kerja yang ditentukan, lalu pilih .
Di kotak dialog Create Node, masukkan Name, lalu klik Confirm.
Di bilah navigasi atas, pilih ikon
.Di mode skrip, klik ikon
.Di kotak dialog import Template, pilih SOURCE type, data source, target type, dan data source, lalu klik confirm.
-
Masukkan skrip berikut.
{ "type": "job", "steps": [ { "stepType": "mongodb", "parameter": { "datasource": "mongodb_userlog", "column": [ { "name": "store.bicycle.color", "type": "document.String" } ], "collectionName": "userlog" }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": { "partition": "", "isCompress": false, "truncate": true, "datasource": "odps_source", "column": [ "mqdata" ], "emptyAsNull": false, "table": "mqdata" }, "name": "Writer", "category": "writer" } ], "version": "2.0", "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "" }, "speed": { "concurrent": 2, "throttle": false, } } } Klik ikon
untuk menjalankan kode.Anda dapat melihat hasilnya di operation Log.
Verifikasi hasil
Klik kanan alur kerja, lalu pilih .
Di kotak dialog create a node, masukkan node name, lalu klik submit.
-
Di halaman pengeditan node ODPS SQL, masukkan pernyataan berikut.
SELECT * from mqdata; Klik ikon
untuk menjalankan kode.Anda dapat melihat hasilnya di Runtime Log.