JSON数据怎么从OSS迁移到MaxCompute
这篇文章主要讲解了“JSON数据怎么从OSS迁移到MaxCompute”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JSON数据怎么从OSS迁移到MaxCompute”吧!
数据上传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”的内容了,经过本文的学习后,相信大家对JSON数据怎么从OSS迁移到MaxCompute这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341