千家信息网

JSON数据怎么从MongoDB迁移到MaxCompute

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章主要介绍"JSON数据怎么从MongoDB迁移到MaxCompute",在日常操作中,相信很多人在JSON数据怎么从MongoDB迁移到MaxCompute问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2024年11月11日JSON数据怎么从MongoDB迁移到MaxCompute

这篇文章主要介绍"JSON数据怎么从MongoDB迁移到MaxCompute",在日常操作中,相信很多人在JSON数据怎么从MongoDB迁移到MaxCompute问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JSON数据怎么从MongoDB迁移到MaxCompute"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

{    "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客户端 中输入命令运行。

到此,关于"JSON数据怎么从MongoDB迁移到MaxCompute"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0