您好,登錄后才能下訂單哦!
這篇文章主要講解了“JSON數據怎么從OSS遷移到MaxCompute”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JSON數據怎么從OSS遷移到MaxCompute”吧!
將您的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區。
新增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 } } }
完成上述配置后,點擊運行接即可。運行成功日志示例如下所示。
在您的
業務流程
中新建一個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”的內容了,經過本文的學習后,相信大家對JSON數據怎么從OSS遷移到MaxCompute這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。