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.aliyun... 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最佳实践 1
本文为您介绍如何利用DataWorks数据集成将JSON数据从OSS迁移到MaxCompute,并使用MaxCompute内置字符串函数GET_JSON_OBJECT提取JSON信息. 数据上传OSS ...
- JSON数据从MongoDB迁移到MaxCompute最佳实践
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 本文为您介绍如何利用DataWorks数据集成直接从MongoDB提取JSON字段到MaxCompute. 数据及账号 ...
- 【大数据新手上路】“零基础”系列课程--MySQL 数据整库迁移到 MaxCompute
随着公司业务的增多,云数据库 RDS 下的 MySQL 数据库的表越来越多,想要把它全部迁移到 MaxCompute 中进行计算分析,但又愁要配置太多次同步任务.如何能将大量的数据表一次性上传到 Ma ...
- 万元大奖邀您参与阿里云数加 MaxCompute最佳实践征文大赛
DT时代,越来越多的企业应用数据步入云端.与传统Hadoop相比,阿里云数加MaxCompute(原名ODPS)向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据 ...
- 玩转ECS第8讲 | 服务器迁移中心SMC最佳实践及新特性介绍
简介:本次分享由阿里云技术专家白辉万(百宝)为大家介绍免费的服务器迁移上云最佳实践方案和新功能特性,包括一键迁云.自动定期同步.一键验证.本次分享内容将帮助企业上云客户越过高高的服务器迁移门槛,快速体 ...
- oracle到kdb迁移,DB2迁移到K-DB最佳实践
[IT168 技术]本文主要讲解从DB2 v9.7 PHSDB库迁移到K-DB11G最佳实践,迁移数据库名为PHSDB,数据库架构为单机.首先在目标主机上安装K-DB11g软件,并创建PHSDB库,具 ...
- 《数据中台架构:企业数据化最佳实践》:感受数据中台建设五步法
写在前面:我是「云祁」,一枚热爱技术.会写诗的大数据开发猿.昵称来源于王安石诗中一句 [ 云之祁祁,或雨于渊 ] ,甚是喜欢. 写博客一方面是对自己学习的一点点总结及记录,另一方面则是希望能够帮助更多 ...
- 【阿里云】企业自建 Hadoop 迁移至 MaxCompute 最佳实践学习
文章目录 一.前言 二.适用场景 三.技术架构 四.方案优势 五.自建Hadoop集群规划 5.1 Hadoop集群安装规划 5.2 创建 VPC 网络 5.3 批量创建 ECS 实例 5.4 初始化 ...
- 一部分 数据 迁移_11项最佳实践,每次数据中心迁移都必不可少
随着企业业务和应用的发展,现有基础架构已经无法保障时,数据中心迁移无法避免,企业可能需要迁移来增加容量或推出新功能和服务. 基础架构要求可能会随时间变化,并且可能会考虑使用托管服务提供商或云服务的选项 ...
最新文章
- JSP page指令
- 《云计算揭秘企业实施云计算的核心问题》——导读
- 切点、切面:@Aspect、@PointCut相关的个人总结
- vs中c#的项目配置,平台配置
- Python数据类型-----列表
- PCL点云CSV转PCD文件
- 简单理解操作系统中的PV操作
- Java 数组与容器之间的转化 实现数组动态赋值
- 老男孩linux——36期学员
- 国内外cms网站大全
- 云端软件关闭的原因是什么?
- Python url的编码转换
- 【老生谈算法】Matlab中插值函数汇总和使用说明——插值函数
- JavaWeb - 小米商城:商品详情展示
- 长相一般的普通程序员怎么找到喜欢程序员的妹子做女友?
- scratch小猫钓鱼 电子学会图形化编程scratch等级考试四级真题和答案解析2021-9
- 百度站长平台"添加站点"提示"您无权访问该页面,点击确定按钮返回首页?"
- hadoop 清理日志文件
- Fzu-2190 非提的救赎 (单调栈)
- 凯撒密码解密加密(C语言)
热门文章
- lucene升级至5.x版本出现 :IllegalStateException: IllegalStateException: unexpected docvalues type NONE...
- Django Channels 入门指南
- 解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题
- VS2010 使用GDI+创建图片水印的MFC程序
- vs2005中关于masterpage,Theme,skin的一点总结
- navigator对象介绍
- iQOO3Android11稳定版,vivo安卓11来了iQOO3 NEX3S尝鲜Androi11测试版!
- 事物的开始和结束命令分别是什么_AutoCAD小秘密065:LOFT命令,创建天圆地方
- mysql视图子查询_mysql创建视图不能包涵子查询的解决办法。View's SELECT contains a subquery in the FROM clause...
- 带你从源码了解SpringBoot启动流程