DataWorks Data Integration memungkinkan Anda melakukan migrasi data JSON dari OSS ke MaxCompute. Setelah migrasi selesai, Anda dapat menggunakan fungsi string bawaan GET_JSON_OBJECT untuk mengekstrak informasi dari data JSON tersebut.
Prasyarat
-
Alur kerja telah dibuat di DataWorks. Contoh ini menggunakan ruang kerja dalam mode dasar. Untuk informasi selengkapnya, lihat Buat alur kerja.
-
File JSON dengan ekstensi
.txttelah diunggah ke OSS. Dalam contoh ini, bucket OSS berada di wilayah China (Shanghai). Contoh file:{ "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 JSON
-
Tambahkan sumber data OSS. Untuk informasi selengkapnya, lihat Konfigurasikan sumber data OSS.
-
Buat tabel di DataWorks untuk menyimpan data JSON yang dimigrasikan.
-
Masuk ke Konsol DataWorks. Di wilayah target, klik di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Development.
-
Klik Data Source untuk membuka halaman Data Source, lalu klik New data source untuk menambahkan proyek MaxCompute.
-
Klik Add Data Source and Bind to Data Development untuk menyelesaikan proses bind.
-
Di halaman Data Development, arahkan pointer ke ikon
dan pilih Create Table > Table. -
Pada kotak dialog Create Table, pilih Path, masukkan Name, lalu klik Create .
CatatanJika terdapat beberapa instans yang terikat, Anda harus memilih instans engine MaxCompute.
Di halaman pengeditan tabel, klik DDL Statement.
-
Pada kotak dialog DDL Statement, masukkan pernyataan berikut dan klik Generate Table Schema.
create table mqdata (mq_data string); -
Pada kotak dialog Confirm operation, klik Confirm.
-
Setelah skema tabel berhasil dibuat, buka bagian General, masukkan Display Name untuk tabel tersebut, lalu klik Commit to Development Environment dan Commit to Production Environment.
CatatanJika Anda menggunakan ruang kerja dalam mode dasar, cukup klik Commit to Production Environment.
-
-
Buat node sinkronisasi batch.
Buka halaman analitik data. Klik kanan alur kerja yang ditentukan dan pilih .
Pada kotak dialog Create Node, masukkan Name, lalu klik Confirm.
Di bilah navigasi atas, pilih ikon
.Dalam mode skrip, klik ikon
.Pada kotak dialog import Template, pilih SOURCE type, data source, target type, dan data source, lalu klik confirm.
-
Ubah konfigurasi JSON, lalu klik tombol
.Contoh konfigurasi:
{ "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_first", "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 } } }
Verifikasi hasil
Buat node ODPS SQL.
Klik kanan alur kerja dan pilih .
Pada kotak dialog create a function, masukkan function name, lalu klik submit.
-
Di tab konfigurasi node ODPS SQL, masukkan pernyataan berikut.
-- Query data in the mqdata table. SELECT * from mqdata; -- Get the value of the 'expensive' field from the JSON data. SELECT GET_JSON_OBJECT(mqdata.mq_data,'$.expensive') FROM mqdata; Klik ikon
untuk menjalankan kode.Anda dapat melihat hasilnya di operation Log.