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

  1. 新增MongoDB数据源

    进入DataWorks数据集成控制台,新增MongoDB类型数据源。 

    具体参数如下所示,测试数据源连通性通过即可点击完成。由于本文中MongoDB处于VPC环境下,因此 数据源类型需选择 有公网IP。 

    访问地址及端口号可通过在MongoDB管理控制台点击实例名称获取,如下图所示。 

  2. 新建数据同步任务在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最佳实践相关推荐

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

    本文为您介绍如何利用DataWorks数据集成将JSON数据从OSS迁移到MaxCompute,并使用MaxCompute内置字符串函数GET_JSON_OBJECT提取JSON信息. 数据上传OSS ...

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

    本文为您介绍如何利用DataWorks数据集成将JSON数据从OSS迁移到MaxCompute,并使用MaxCompute内置字符串函数GET_JSON_OBJECT提取JSON信息. 数据上传OSS ...

  3. 【大数据新手上路】“零基础”系列课程--MySQL 数据整库迁移到 MaxCompute

    随着公司业务的增多,云数据库 RDS 下的 MySQL 数据库的表越来越多,想要把它全部迁移到 MaxCompute 中进行计算分析,但又愁要配置太多次同步任务.如何能将大量的数据表一次性上传到 Ma ...

  4. 万元大奖邀您参与阿里云数加 MaxCompute最佳实践征文大赛

    DT时代,越来越多的企业应用数据步入云端.与传统Hadoop相比,阿里云数加MaxCompute(原名ODPS)向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据 ...

  5. 玩转ECS第8讲 | 服务器迁移中心SMC最佳实践及新特性介绍

    简介:本次分享由阿里云技术专家白辉万(百宝)为大家介绍免费的服务器迁移上云最佳实践方案和新功能特性,包括一键迁云.自动定期同步.一键验证.本次分享内容将帮助企业上云客户越过高高的服务器迁移门槛,快速体 ...

  6. oracle到kdb迁移,DB2迁移到K-DB最佳实践

    [IT168 技术]本文主要讲解从DB2 v9.7 PHSDB库迁移到K-DB11G最佳实践,迁移数据库名为PHSDB,数据库架构为单机.首先在目标主机上安装K-DB11g软件,并创建PHSDB库,具 ...

  7. 《数据中台架构:企业数据化最佳实践》:感受数据中台建设五步法

    写在前面:我是「云祁」,一枚热爱技术.会写诗的大数据开发猿.昵称来源于王安石诗中一句 [ 云之祁祁,或雨于渊 ] ,甚是喜欢. 写博客一方面是对自己学习的一点点总结及记录,另一方面则是希望能够帮助更多 ...

  8. mongodb数据合并设计_「时间序列数据」和MongoDB(二)-模式设计最佳实践

    在上一篇博客文章时间序列数据与MongoDB:第一部分-简介中,我们介绍了时间序列数据的概念,然后介绍了一些可以用于帮助收集时间序列应用程序需求的发现问题.对这些问题的回答有助于指导支持大容量生产应用 ...

  9. 【阿里云】企业自建 Hadoop 迁移至 MaxCompute 最佳实践学习

    文章目录 一.前言 二.适用场景 三.技术架构 四.方案优势 五.自建Hadoop集群规划 5.1 Hadoop集群安装规划 5.2 创建 VPC 网络 5.3 批量创建 ECS 实例 5.4 初始化 ...

最新文章

  1. 代码开源!激光雷达 SLAM 的闭环检测:OverlapNet
  2. 成熟的GAN会自己分析脸部纹理!英伟达StyleGAN团队出新作,网友:竟然还能有突破...
  3. html5怎么实现自动缩放图片,如图,html5开发的手机端web在线客服聊天,如何实现图片点击放大,捏合缩放功能?...
  4. 洛谷P3902 递增
  5. Kaggle知识点:数据分析EDA
  6. loadrunner脚本设计:检查点(断言)及web_submit_data函数使用示例
  7. 禁用CMFCRibbonApplicationButton的单击和双击事件
  8. 计算机网络中的基本概念
  9. 简单实现x的n次方pta_数学学霸的解题思路1“降低次方和次元”
  10. m3u8格式的视频链接怎么在自己电脑上播放
  11. python小学教材全解_小学教材全解三年级下数学
  12. “碳壁垒”悄然而起,碳足迹如何算清楚、减明白?|双碳科普
  13. SpringCloud Alibaba系列——7Dubbo的服务暴露和注册
  14. 暗黑破坏神2中的符文系统,一共有多少个符文,可以介绍其中1个符文组合吗?...
  15. 如何给html文件加背景图片,怎么在文件夹中设置背景图片
  16. 【实验】流量控制之分为流量抑制和风暴控制
  17. linux-安装及管理程序(一) rpm源安装
  18. 下载阿里巴巴商品详情页的主图和详情图(Java版本)
  19. 【设计模式】模板方法模式(C#)
  20. 天津大学计算机博士几年毕业,在职读博士几年毕业?

热门文章

  1. Java之美[从菜鸟到高手演变]系列之博文阅读导航
  2. Java异常处理和设计
  3. Scala基础教程(八):模式匹配、正则表达式
  4. Day 26: TogetherJS —— 让我们一起来编程!
  5. 【OpenCV3】Opencv3.2.0在Hisi3521下的交叉编译和移植
  6. 应用后台省电秘籍——低功耗状态下应用如何正常运行?
  7. Latex 算法过长 分页显示方法
  8. underscore.js源码解析2
  9. 定域性和实在性之矛盾的世界
  10. Python3 简明教程