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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
EMR Serverless StarRocks,5000CU*H 48000GB*H
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本文为您介绍如何利用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客户端中输入命令运行。 
 
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 产品官网 https://www.aliyun.com/product/bigdata/ide 大数据&AI体验馆 https://workbench.data.aliyun.com/experience.htm#/ 帮助文档https://help.aliyun.com/zh/dataworks 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
目录
相关文章
|
1月前
|
存储 NoSQL MongoDB
【赵渝强老师】MongoDB写入数据的过程
在MongoDB数据更新时,WiredTiger存储引擎通过预写日志(Journal)机制先将更新写入日志文件,再通过检查点操作将日志中的操作刷新到数据文件,确保数据持久化和一致性。检查点定期创建,缩短恢复时间,并保证异常终止后可从上一个有效检查点恢复数据。视频讲解及图示详细说明了这一过程。
84 23
【赵渝强老师】MongoDB写入数据的过程
|
28天前
|
SQL 数据可视化 大数据
从数据小白到大数据达人:一步步成为数据分析专家
从数据小白到大数据达人:一步步成为数据分析专家
211 92
|
1月前
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试
|
26天前
|
存储 搜索推荐 大数据
数据大爆炸:解析大数据的起源及其对未来的启示
数据大爆炸:解析大数据的起源及其对未来的启示
89 15
数据大爆炸:解析大数据的起源及其对未来的启示
|
18天前
|
分布式计算 大数据 流计算
玩转数据:初学者的大数据处理工具指南
玩转数据:初学者的大数据处理工具指南
70 14
|
21天前
|
数据采集 存储 机器学习/深度学习
数据的秘密:如何用大数据分析挖掘商业价值
数据的秘密:如何用大数据分析挖掘商业价值
46 9
|
1月前
|
数据采集 存储 分布式计算
解密大数据:从零开始了解数据海洋
解密大数据:从零开始了解数据海洋
67 17
|
2月前
|
存储 分布式计算 安全
MaxCompute Bloomfilter index 在蚂蚁安全溯源场景大规模点查询的最佳实践
MaxCompute 在11月最新版本中全新上线了 Bloomfilter index 能力,针对大规模数据点查场景,支持更细粒度的数据裁剪,减少查询过程中不必要的数据扫描,从而提高整体的查询效率和性能。
|
3月前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
174 4
|
2月前
|
分布式计算 DataWorks 搜索推荐
DataWorks产品评测:大数据开发治理平台的最佳实践与体验
DataWorks是阿里云推出的一款大数据开发治理平台,集成了多种大数据引擎,支持数据集成、开发、分析和任务调度。本文通过用户画像分析的最佳实践,评测了DataWorks的功能和使用体验,并提出了优化建议。通过实践,DataWorks在数据整合、清洗及可视化方面表现出色,适合企业高效管理和分析数据。
137 0

相关产品

  • 云原生大数据计算服务 MaxCompute