开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks中mongodb读取上来的数据是某个字段des是"name字段,这个应该怎么处理?

DataWorks中mongodb读取上来的数据是某个字段des是"[{"a":1,"b":"ok"},{}]",还有其他的字段id,name,现在需要将des内拆开变为多行,{"a":1,"b":"ok"},{},每行还要包含id,name字段,这个应该怎么处理?

展开
收起
真的很搞笑 2023-07-16 18:12:49 73 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    可以使用DataWorks的数据集成功能,通过ODPS SQL节点实现对数据的拆分和重组。
    可以按照以下步骤进行操作:

    在DataWorks中创建一个ODPS表,用于存储MongoDB读取上来的数据。

    在DataWorks中创建一个ODPS SQL节点,用于对数据进行拆分和重组。

    在ODPS SQL节点中,使用Lateral View语句对MongoDB读取上来的数据进行拆分和展开。例如,您可以使用类似以下的语句:

    n1ql
    Copy
    SELECT
    id,
    name,
    x.a,
    x.b
    FROM
    input_table
    LATERAL VIEW explode(des) t AS x
    ```

    这个语句中,input_table是您创建的ODPS表名,idname是MongoDB读取上来的数据中包含的字段,des是您要拆分的字段。使用LATERAL VIEW explode(des)语句可以将des字段拆分为多行,每行包含一个ab字段,同时也包含idname字段。

    在ODPS SQL节点中,将拆分后的数据保存到一个新的ODPS表中。您可以使用类似以下的语句:

    Copy
    INSERT OVERWRITE output_table
    SELECT
    id,
    name,
    x.a,
    x.b
    FROM
    input_table
    LATERAL VIEW explode(des) t AS x
    这个语句中,output_table是您创建的新的ODPS表名,其他部分与上面的语句类似。

    2023-07-21 12:15:15
    赞同 展开评论 打赏
  • 在DataWorks中,您可以使用数据处理节点(如Python脚本节点或SQL节点)来对MongoDB读取上来的数据进行处理,将字段 "des" 的值拆解为多行,并在每行中包含 "id" 和 "name" 字段。以下是一种可能的处理方法:

    1. 确定数据处理节点:根据您的需求,在DataWorks中选择适合的数据处理节点,例如Python脚本节点或SQL节点。

    2. 解析JSON数据:在数据处理节点中,您需要解析 "des" 字段的值,将其转换为可操作的JSON格式。

      • 如果使用Python脚本节点,您可以使用 json 模块来解析JSON数据。
      • 如果使用SQL节点,您可以使用相应的数据库函数或内置函数来解析JSON数据。
    3. 生成多行数据:在数据处理节点中,您可以通过循环遍历和字符串拼接的方式,生成多行数据,并在每行中包含 "id" 和 "name" 字段。

      • 在Python脚本节点中,可以使用循环遍历每个JSON对象,并以字符串形式构建每行数据。最后输出结果即可。
      • 在SQL节点中,可以使用 UNNEST 函数(如果支持的话),将 "des" 字段展开为多行。然后使用连接操作将每行数据与原始表中的 "id" 和 "name" 字段关联起来,生成包含 "id"、"name" 和解析后的 "des" 的多行数据。
    2023-07-17 13:29:08
    赞同 展开评论 打赏
  • 可以参考看下mc的内建函数https://help.aliyun.com/zh/maxcompute/user-guide/function-reference/?spm=a2c4g.11186623.0.i0 具体也可以咨询下mc同学看看 在群公告可以找到,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-07-16 18:15:56
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
    开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
    饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载