Tüm Ürünler
Search
Belge Merkezi

DataWorks:OSS'teki JSON verilerini MaxCompute'e geçirin

Son Güncelleme:Oct 05, 2026

DataWorks Data Integration, JSON verilerini OSS'ten MaxCompute'e geçirmenize olanak tanır. Geçişten sonra yerleşik dize işlevi GET_JSON_OBJECT ile JSON verilerinden bilgi çıkarabilirsiniz.

Ön koşullar

  • MaxCompute etkinleştirildi.

  • DataWorks içinde bir iş akışı oluşturdunuz. Bu örnekte temel modda bir çalışma alanı kullanılmaktadır. Daha fazla bilgi için bkz. İş akışı oluşturma.

  • .txt uzantılı bir JSON dosyasını OSS'e yüklediniz. Bu örnekte OSS paketi Çin (Şanghay) bölgesindedir. Örnek dosya:

    {
        "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
    }

JSON verilerini geçirin

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

  2. Geçirilen JSON verilerini depolamak üzere DataWorks içinde bir tablo oluşturun.

    1. DataWorks konsolu üzerinde oturum açın. Hedef bölgede sol gezinme bölmesinden Data Development and O&M > Data Development seçeneğine tıklayın. Açılan listeden bir çalışma alanı seçin ve Go to Data Development seçeneğine tıklayın.

    2. Data Source seçeneğine tıklayarak Data Source sayfasına gidin ve bir MaxCompute projesi eklemek için New data source seçeneğine tıklayın.

    3. Bağlamayı tamamlamak için Add Data Source and Bind to Data Development seçeneğine tıklayın.

    4. Data Development sayfasında fare imlecini image..png simgesinin üzerine getirin ve Create Table > Table seçeneklerini belirleyin.

    5. Create Table iletişim kutusunda bir Path seçin, bir Name girin ve Create seçeneğine tıklayın.

      Not

      Birden çok örnek bağlıysa bir MaxCompute altyapı örneği seçmeniz gerekir.

    6. Tablo düzenleme sayfasında DDL Statement seçeneğine tıklayın.

    7. DDL Statement iletişim kutusunda aşağıdaki ifadeyi girin ve Generate Table Schema seçeneğine tıklayın.

      create table mqdata (mq_data string);
    8. Confirm operation iletişim kutusunda Confirm seçeneğine tıklayın.

    9. Tablo şeması oluşturulduktan sonra General bölümüne gidin, tablo için bir Display Name girin ve ardından Commit to Development Environment ve Commit to Production Environment seçeneklerine tıklayın.

      Not

      Temel modda bir çalışma alanı kullanıyorsanız yalnızca Commit to Production Environment seçeneğine tıklamanız yeterlidir.

  3. Bir toplu iş 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çeneklerini belirleyin.

    2. Create Node iletişim kutusunda Name değerini girin ve Confirm seçeneğine 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 seçin ve confirm seçeneğine tıklayın.

    6. JSON yapılandırmasını değiştirin ve ardından 运行 düğmesine tıklayın.

      Örnek yapılandırma:

      {
          "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
              }
          }
      }

Sonuçları doğrulayın

Bir ODPS SQL düğümü oluşturun.

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

  2. create a function iletişim kutusunda function name değerini girin ve submit seçeneğine tıklayın.

  3. ODPS SQL düğümü yapılandırma sekmesinde aşağıdaki ifadeleri girin.

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

  5. Sonuçları görüntülemek için operation Log seçeneğini kullanabilirsiniz.