Bu konu, DataWorks'ün Veri Entegrasyonu özelliğini kullanarak JSON alanlarını MongoDB'den MaxCompute'e nasıl geçireceğinizi açıklar.
Ön koşullar
Bir MaxCompute veri kaynağı ekleyin. Daha fazla bilgi için bkz. MaxCompute hesaplama kaynaklarını bağlayın.
DataWorks'te bir iş akışı oluşturun. Bu konuda temel modda bir iş akışı kullanılmaktadır. Daha fazla bilgi için bkz. İş akışı oluşturma.
MongoDB'de test verilerini hazırlayın
-
Bir kullanıcı hesabı hazırlayın.
Veritabanında bir kullanıcı oluşturun. Bu kullanıcıyı DataWorks'te veri kaynağı eklemek için kullanabilirsiniz. Bu örnekte aşağıdaki komutu çalıştırın.
db.createUser({user:"bookuser",pwd:"123456",roles:["user1"]})Bu komut, parolası 123456 olan bookuser adlı bir kullanıcı oluşturur. Rol, verilere erişim iznine sahip herhangi bir rol olabilir.
-
Verileri hazırlayın.
Verileri MongoDB veritabanına yükleyin. Bu örnek, ApsaraDB for MongoDB kullanır. Ağ türü VPC'dir. VPC'nin DataWorks genel kaynak grubuyla iletişim kurabilmesi için bir genel uç nokta gereklidir. Aşağıdaki kod test verilerini içerir.
{ "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 } -
Bu örnekte, MongoDB için DMS konsolundaki admin veritabanı ve userlog koleksiyonu kullanılır. Yüklenen verileri görüntülemek için aşağıdaki komutu çalıştırın.
db.userlog.find().limit(10)
Verileri geçirmek için DataWorks'ü kullanın
DataWorks konsolunda giriş yapın.
-
Geçirilen MongoDB verileri için DataWorks'te bir hedef tablo oluşturun.
Oluşturulan bir Workflow öğesine sağ tıklayın ve Create Table > Table seçeneğini belirleyin.
Create Table sayfasında motor türünü seçin ve Name değerini girin.
Tablo düzenleme sayfasında DDL Statement düğmesine tıklayın.
-
DDL Statement iletişim kutusunda DDL ifadesini girin ve Generate Table Schema düğmesine tıklayın.
ÖnemliDDL ifadesindeki tablo adı, Create Table sayfasında girdiğiniz Table Name ile eşleşmelidir.
create table mqdata (mqdata string); Commit to Production Environment düğmesine tıklayın.
Bir MongoDB veri kaynağı ekleyin. Daha fazla bilgi için bkz. MongoDB veri kaynağını yapılandırma.
-
Çevrimdışı senkronizasyon düğümü oluşturun.
Veri analizi sayfasına gidin. Belirtilen iş akışına sağ tıklayın ve seçeneğini belirleyin.
Create Node iletişim kutusunda Name değerini girin ve Confirm düğmesine tıklayın.
Üst gezinme çubuğunda
simgesini seçin.Betik modunda
simgesine tıklayın.import Template iletişim kutusunda SOURCE type, data source, target type ve data source değerlerini ayarlayın ve confirm düğmesine tıklayın.
-
Aşağıdaki betiği girin.
{ "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, } } } Kodu çalıştırmak için
simgesine tıklayın.Sonuçları operation Log bölümünde görüntüleyebilirsiniz.
Sonucu doğrulayın
İş akışına sağ tıklayın ve seçeneğini belirleyin.
create a node iletişim kutusunda node name değerini girin ve submit düğmesine tıklayın.
-
ODPS SQL düğümü düzenleme sayfasında aşağıdaki ifadeyi girin.
SELECT * from mqdata; Kodu çalıştırmak için
simgesine tıklayın.Sonuçları Runtime Log bölümünde görüntüleyebilirsiniz.