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

歡迎訪問 生活随笔!

生活随笔

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

javascript

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

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

本文為您介紹如何利用DataWorks數據集成將JSON數據從OSS遷移到MaxCompute,并使用MaxCompute內置字符串函數GET_JSON_OBJECT提取JSON信息。

數據上傳OSS

將您的JSON文件重命名后綴為TXT文件,并上傳到OSS。本文中使用的JSON文件示例如下。

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

將applog.txt文件上傳到OSS,本文中OSS Bucket位于華東2區。?

使用DataWorks導入數據到MaxCompute

新增OSS數據源

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

具體參數如下所示,測試數據源連通性通過即可點擊完成。Endpoint地址請參見OSS各區域的外網、內網地址,本例中為http://oss-cn-shanghai.aliyuncs.com或?http://oss-cn-shanghai-internal.aliyuncs.com(由于本文中OSS和DataWorks項目處于同一個region中,本文選用后者,通過內網連接)。?

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


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


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


完成上述新建后,您可以在圖形化界面配置數據同步任務參數,如下圖所示。選擇目標數據源名稱為odps_first,選擇目標表為剛建立的mqdata。數據來源類型為OSS,Object前綴可填寫文件路徑及名稱。列分隔符使用TXT文件中不存在的字符即可,本文中使用?^(對于OSS中的TXT格式數據源,Dataworks支持多字符分隔符,所以您可以使用例如?%&%#^$$^%這樣很難出現的字符作為列分隔符,保證分割為一列)。?

映射方式選擇默認的同行映射即可。?

點擊左上方的切換腳本按鈕,切換為腳本模式。修改fileFormat參數為:?"fileFormat":"binary"。該步驟可以保證OSS中的JSON文件同步到MaxCompute之后存在同一行數據中,即為一個字段。其他參數保持不變,腳本模式代碼示例如下。

{"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,"dmu": 1}} }

完成上述配置后,點擊運行接即可。運行成功日志示例如下所示。?

獲取JSON字段信息

在您的業務流程中新建一個ODPS SQL節點。?
?
您可以首先輸入?SELECT*from mqdata;語句,查看當前mqdata表中數據。當然這一步及后續步驟,您也可以直接在MaxCompute客戶端中輸入命令運行。

確認導入表中的數據結果無誤后,您可以使用MaxCompute內建字符串函數GET_JSON_OBJECT獲取您想要的JSON數據。本例中使用?SELECT GET_JSON_OBJECT(mqdata.MQdata,'$.expensive') FROM mqdata;獲取JSON文件中的?expensive值。如下圖所示,可以看到已成功獲取數據。?

?

原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

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