Tüm Ürünler
Search
Belge Merkezi

DataWorks:MongoDB'den MaxCompute'e JSON verilerini geçirin

Son Güncelleme:Oct 05, 2026

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

MongoDB'de test verilerini hazırlayın

  1. 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.

  2. 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
                }
  3. 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

  1. DataWorks konsolunda giriş yapın.

  2. Geçirilen MongoDB verileri için DataWorks'te bir hedef tablo oluşturun.

    1. Oluşturulan bir Workflow öğesine sağ tıklayın ve Create Table > Table seçeneğini belirleyin.

    2. Create Table sayfasında motor türünü seçin ve Name değerini girin.

    3. Tablo düzenleme sayfasında DDL Statement düğmesine tıklayın.

    4. DDL Statement iletişim kutusunda DDL ifadesini girin ve Generate Table Schema düğmesine tıklayın.

      Önemli

      DDL ifadesindeki tablo adı, Create Table sayfasında girdiğiniz Table Name ile eşleşmelidir.

      create table mqdata (mqdata string);
    5. Commit to Production Environment düğmesine tıklayın.

  3. Bir MongoDB veri kaynağı ekleyin. Daha fazla bilgi için bkz. MongoDB veri kaynağını yapılandırma.

  4. Çevrimdışı senkronizasyon düğümü oluşturun.

    1. Veri analizi sayfasına gidin. Belirtilen iş akışına sağ tıklayın ve Create Node > Data Integration > Offline synchronization seçeneğini belirleyin.

    2. Create Node iletişim kutusunda Name değerini girin ve Confirm düğmesine tıklayın.

    3. Üst gezinme çubuğunda Conversion script simgesini seçin.

    4. Betik modunda ** simgesine tıklayın.

    5. 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.

    6. 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,
                  }
                  }
              }
    7. Kodu çalıştırmak için ** simgesine tıklayın.

    8. Sonuçları operation Log bölümünde görüntüleyebilirsiniz.

Sonucu doğrulayın

  1. İş akışına sağ tıklayın ve new > MaxCompute > ODPS SQL seçeneğini belirleyin.

  2. create a node iletişim kutusunda node name değerini girin ve submit düğmesine tıklayın.

  3. ODPS SQL düğümü düzenleme sayfasında aşağıdaki ifadeyi girin.

    SELECT * from mqdata;
  4. Kodu çalıştırmak için ** simgesine tıklayın.

  5. Sonuçları Runtime Log bölümünde görüntüleyebilirsiniz.