日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSON数据从MongoDB迁移到MaxCompute最佳实践

發布時間:2025/3/21 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON数据从MongoDB迁移到MaxCompute最佳实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

摘要:?本文為您介紹如何利用DataWorks數據集成直接從MongoDB提取JSON字段到MaxCompute。

數據及賬號準備

首先您需要將數據上傳至您的MongoDB數據庫。本例中使用阿里云的云數據庫 MongoDB 版,網絡類型為VPC(需申請公網地址,否則無法與DataWorks默認資源組互通),測試數據如下。

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

登錄MongoDB的DMS控制臺,本例中使用的數據庫為?admin,集合為?userlog,您可以在查詢窗口使用db.userlog.find().limit(10)命令查看已上傳好的數據,如下圖所示。?

此外,需提前在數據庫內新建用戶,用于DataWorks添加數據源。本例中使用命令db.createUser({user:"bookuser",pwd:"123456",roles:["root"]}),新建用戶名為?bookuser,密碼為?123456,權限為root。

使用DataWorks提取數據到MaxCompute

  • 新增MongoDB數據源

    進入DataWorks數據集成控制臺,新增MongoDB類型數據源。?

    具體參數如下所示,測試數據源連通性通過即可點擊完成。由于本文中MongoDB處于VPC環境下,因此?數據源類型需選擇?有公網IP。?

    訪問地址及端口號可通過在MongoDB管理控制臺點擊實例名稱獲取,如下圖所示。?

  • 新建數據同步任務在DataWorks上新建數據同步類型節點。?

    新建的同時,在DataWorks新建一個建表任務,用于存放JSON數據,本例中新建表名為mqdata。?

    表參數可以通過圖形化界面完成。本例中mqdata表僅有一列,類型為string,列名為MQ data。?

    完成上述新建后,您可以在圖形化界面進行數據同步任務參數的初步配置,如下圖所示。選擇目標數據源名稱為odps_first,選擇目標表為剛建立的mqdata。數據來源類型為MongoDB,選擇我們剛創建的數據源mongodb_userlog。完成上述配置后,?點擊轉換為腳本,跳轉到腳本模式。?

    腳本模式代碼示例如下。 {"type": "job","steps": [{"stepType": "mongodb","parameter": {"datasource": "mongodb_userlog",//數據源名稱"column": [{"name": "store.bicycle.color", //JSON字段路徑,本例中提取color值"type": "document.document.string" //本欄目的字段數需和name一致。假如您選取的JSON字段為一級字段,如本例中的expensive,則直接填寫string即可。}],"collectionName //集合名稱": "userlog"},"name": "Reader","category": "reader"},{"stepType": "odps","parameter": {"partition": "","isCompress": false,"truncate": true,"datasource": "odps_first","column": [//MaxCompute表列名 "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,"dmu": 1}} } 完成上述配置后,點擊運行接即可。運行成功日志示例如下所示。?
  • 結果驗證

    在您的業務流程中新建一個ODPS SQL節點。?

    ?

    您可以輸入?SELECT * from mqdata;語句,查看當前mqdata表中數據。當然這一步您也可以直接在MaxCompute客戶端中輸入命令運行。?
    ?

    原文鏈接

    轉載于:https://my.oschina.net/u/1464083/blog/2962209

    總結

    以上是生活随笔為你收集整理的JSON数据从MongoDB迁移到MaxCompute最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。