Topik ini menjelaskan cara menggunakan DataWorks Data Integration untuk memigrasikan data berformat JSON dari Object Storage Service (OSS) ke MaxCompute dan menggunakan fungsi GET_JSON_OBJECT untuk mengekstrak objek JSON.
Prasyarat
Layanan MaxCompute dan DataWorks telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan MaxCompute dan DataWorks.
Sumber data MaxCompute telah ditambahkan. Untuk informasi lebih lanjut, lihat Tambahkan sumber data MaxCompute.
Sebuah alur kerja dibuat di ruang kerja Anda di konsol DataWorks. Dalam contoh ini, sebuah alur kerja dibuat di ruang kerja yang berada dalam mode dasar. Untuk informasi lebih lanjut, lihat Buat alur kerja.
File
TXTyang berisi data berformat JSON diunggah ke Bucket OSS. Dalam contoh ini, Bucket OSS yang berada di wilayah China (Shanghai) digunakan. File TXT berisi data berformat JSON berikut:{ "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 }
Migrasi Data Berformat JSON dari OSS ke MaxCompute
Tambahkan sumber data OSS. Untuk informasi lebih lanjut, lihat Tambahkan sumber data OSS.
Buat tabel di DataWorks untuk menyimpan data berformat JSON yang ingin dimigrasikan dari OSS.
Masuk ke konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi sisi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Development.
Di panel navigasi sisi kiri, klik Data source, pada halaman Sumber Data, tambahkan proyek MaxCompute dengan mengklik Add Data Source.
Pada kotak dialog Tambah Sumber Data, isi parameter dan kemudian klik Associate Purchased Resource Group.
Pada halaman DataStudio, gerakkan pointer di atas ikon
dan pilih Create Table > MaxCompute > Table.Dalam kotak dialog Create Table, atur parameter Path dan Name, lalu klik Create.
CatatanJika beberapa sumber data MaxCompute terhubung dengan DataStudio, Anda harus memilih sumber data MaxCompute di kotak dialog Buat Tabel.
Di halaman pengeditan tabel, klik DDL Statement.
Di kotak dialog DDL, masukkan pernyataan pembuatan tabel berikut dan klik Generate Table Schema:
CREATE TABLE mqdata (mq_data string);Di pesan Confirm, klik OK.
Setelah skema tabel dihasilkan, konfigurasikan parameter Display Name di bagian General dan klik Commit to Development Environment dan Commit to Production Environment.
CatatanJika Anda menggunakan ruang kerja dalam mode dasar, Anda hanya perlu mengklik Commit to Production Environment.
Buat tugas sinkronisasi batch.
Pergi ke halaman analitik data. Klik kanan alur kerja yang ditentukan dan pilih .
Di kotak dialog create a node, masukkan node name, dan klik submit.
Di bilah navigasi atas, pilih ikon
.Dalam mode skrip, klik ikon
.Dalam kotak dialog import Template, pilih SOURCE type, data source, target type, dan data source, lalu klik confirm.
Modifikasi kode JSON dan klik ikon
.Kode contoh:
{ "type": "job", "steps": [ { "stepType": "oss", "parameter": { "fieldDelimiterOrigin": "^", "nullFormat": "", "compress": "", "datasource": "OSS_userlog", "column": [ { "name": 0, "type": "string", "index": 0 } ], "skipHeader": "false", "encoding": "UTF-8", "fieldDelimiter": "^", "fileFormat": "binary", "object": [ "applog.txt" ] }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": { "partition": "", "isCompress": false, "truncate": true, "datasource": "odps_source",// Nama sumber data MaxCompute. "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 } } }
Periksa hasilnya
Buat node ODPS SQL.
Klik kanan alur kerja dan pilih .
Di kotak dialog create a function, masukkan function name, klik submit.
Di tab konfigurasi node ODPS SQL, masukkan pernyataan berikut:
-- Query data di tabel mqdata. SELECT * from mqdata; -- Dapatkan nilai dari bidang expensive. SELECT GET_JSON_OBJECT(mqdata.MQdata,'$.expensive') FROM mqdata;Klik ikon
untuk menjalankan kode.Anda dapat melihat hasilnya di operation Log.